r[expr.path]
Path expressions
r[expr.path.syntax]
PathExpression ->
PathInExpression
| QualifiedPathInExpression
r[expr.path.intro] A path used as an expression context denotes either a local variable or an item.
r[expr.path.place] Path expressions that resolve to local or static variables are place expressions; other paths are value expressions.
r[expr.path.safety]
Using a static mut variable requires an unsafe block.
#![allow(unused)] fn main() { mod globals { pub static STATIC_VAR: i32 = 5; pub static mut STATIC_MUT_VAR: i32 = 7; } let local_var = 3; local_var; globals::STATIC_VAR; unsafe { globals::STATIC_MUT_VAR }; let some_constructor = Some::<i32>; let push_integer = Vec::<i32>::push; let slice_reverse = <[i32]>::reverse; }
r[expr.path.const]
Evaluation of associated constants is handled the same way as const blocks.