| contains_exterior_struct_lit | 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.
|
| expr_requires_semi_to_be_stmt | Does this expression require a semicolon to be treated
as a statement? The negation of this: 'can this expression
be used as a statement without a semicolon' -- is used
as an early-bail-out in the parser so that, for instance,
if true {...} else {...}
|x| 5
isn't parsed as (if true {...} else {...} | x) | 5
|