no-return-assign Disallow assignment within an explicit or implicit return value A returned assignment makes the assigned value the function result after mutating its target, and a single = can be mistaken for an equality operator. Instead, you SHOULD perform the assignment as a statement and return the resulting value separately. - Category: suspicious - Level: warning - Fix: none - Scope: module Reported function reset(value: int32): int32 { let current = value; return (current = 0); } Accepted function reset(value: int32): int32 { let current = value; current = 0; return current; } Prior art - ESLint ยท no-return-assign language/linter/src/rules/suspicious/noreturnassign.rs:6