Enums

Associative operator with precedence.

Constants

Functions

Expressions that syntactically contain an “exterior” struct literal i.e., not surrounded by any parens or other delimiters, e.g., X { y: 1 }, X { y: 1 }.method(), foo == X { y: 1 } and X { y: 1 } == foo all do, but (X { y: 1 }) == foo does not.

Suppose we have let _ = e and the order of e. Is the order such that e in let _ = e needs parentheses when it is on the RHS?

In let p = e, operators with precedence <= this one requires parentheses in e.