경로 표현식

경로 표현식 (Path expressions)

경로(path)는 아이템이나 변수를 가리키는 이름의 나열인데, 이걸 표현식 자리에서 쓰면 경로 표현식이 돼요. 예를 들어 fooa::b::c처럼 이름으로 뭔가를 참조하는 게 다 경로 표현식이랍니다.

출처: Rust Reference

본문

문법

PathExpression →
      PathInExpression
    | QualifiedPathInExpression

표현식 맥락에 쓰인 경로지역 변수(local variable) 또는 아이템(item) 하나를 가리켜요.

위치 표현식 vs 값 표현식

지역 변수나 static 변수로 해석되는 경로 표현식은 위치 표현식(place expression)이고, 그 외의 경로값 표현식(value expression)이에요.

안전성 규칙

static mut 변수를 사용하려면 unsafe 블록이 필요해요.

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

연관 상수의 평가

연관 상수(associated const)의 평가는 const 블록과 같은 방식으로 처리되어요.

더 알아보기