Path expressions - The Rust Reference

## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

[expr.path]

# Path expressions

[expr.path.syntax]

Syntax
PathExpression →
PathInExpression
| QualifiedPathInExpression

[expr.path.intro]

A path used as an expression context denotes either a local variable or an item.

[expr.path.place]

Path expressions that resolve to local or static variables are place expressions; other paths are value expressions.

[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;
    }

[expr.path.const]

Evaluation of associated constants is handled the same way as `const` blocks.