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

Raw 식별자

Rust는 많은 프로그래밍 언어와 마찬가지로 “키워드“라는 개념이 있습니다. 이러한 식별자들은 언어에 의미가 있으므로 변수 이름, 함수 이름 등에서 사용할 수 없습니다. Raw 식별자를 사용하면 일반적으로 허용되지 않는 위치에서 키워드를 사용할 수 있습니다. 이는 특히 Rust가 새로운 키워드를 도입하고, 이전 에디션의 Rust를 사용하는 라이브러리에 최신 에디션에서 도입된 키워드와 동일한 이름의 변수나 함수가 있을 때 유용합니다.

예를 들어, 2015 에디션 Rust로 컴파일된 foo 크레이트가 try라는 이름의 함수를 내보낸다고 가정해 봅시다. 이 키워드는 2018 에디션의 새로운 기능을 위해 예약되어 있으므로, Raw 식별자가 없다면 함수 이름을 지을 방법이 없을 것입니다.

extern crate foo;

fn main() {
    foo::try();
}

다음과 같은 오류가 발생합니다:

error: expected identifier, found keyword `try`
 --> src/main.rs:4:4
  |
4 | foo::try();
  |      ^^^ expected identifier, found keyword

Raw 식별자를 사용하여 다음과 같이 작성할 수 있습니다:

extern crate foo;

fn main() {
    foo::r#try();
}