Skip to content

Latest commit

 

History

History
43 lines (36 loc) · 1.35 KB

path-expr.md

File metadata and controls

43 lines (36 loc) · 1.35 KB

r[expr.path]

Path expressions

r[expr.path.syntax]

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.

# 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.