include::../description.adoc[] == Noncompliant Code Example ---- if (val = value() && check()) { // Noncompliant // ... } ---- == Compliant Solution ---- val = value(); if (val && check()) { // ... } ---- == Exceptions The rule does not raise issues for the following patterns: * assignments at declaration-level: ``++let a = b = 0;++`` * chained assignments: ``++a = b = c = 0;++`` * relational assignments: ``++(a = 0) != b++`` * sequential assignments: ``++a = 0, b = 1, c = 2++`` * assignments in lambda body: ``++() => a = 0++`` * conditional assignment idiom: ``++a || (a = 0)++`` * assignments in (do-)while conditions: ``++while (a = 0);++`` include::../see.adoc[] ifdef::rspecator-view[] == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::rspecator-view[]