true, }; match (true) { // Not OK. $a || $b && $c => true, }; match (true) { // OK. $a || $b => true, $a && $b => true, }; match (true) { // Debatable. $a || $b, $a && $b => true, }; // OK. $foo = fn ($a, $b, $c) => $a && ($b || $c); // Not OK. $foo = fn ($a, $b, $c) => $a && $b || $c; // OK. $foo = $a && (fn ($a, $b, $c) => $a || $b); // Debatable. $foo = $a && fn ($a, $b, $c) => $a || $b; // OK. \array_map( fn ($a, $b, $c) => $a || $b, $a && $b ); match (true) { // Not OK. $a || ($b && $c) && $d => true, // Not OK. $b && $c['a'] || $d => true, // Not OK. $b && ${$var} || $d => true, };