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 identifiers

Rust, як і багато мов програмування, має поняття “ключових слів”. Ці ідентифікатори означають щось для мови, і тому ви не можете використовувати їх у таких місцях, як імена змінних, імена функцій та інших місцях. Сирі ідентифікатори дають змогу використовувати ключові слова там, де їх зазвичай не дозволено. Це особливо корисно, коли Rust запроваджує нові ключові слова, а крейт , що використовує старіше видання Rust, має змінну або функцію з тією самою назвою , що й ключове слово, запроваджене в новішому виданні.

Наприклад, розгляньте крейт foo, скомпільований за виданням Rust 2015, який експортує функцію з назвою try. Це ключове слово зарезервоване для нової можливості у виданні 2018, тож без сирих ідентифікаторів ми б не мали способу назвати цю функцію.

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

Ви можете записати це із сирим ідентифікатором:

extern crate foo;

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