原始标识符
Rust 与许多编程语言一样,具有“关键字”的概念。这些标识符对语言有特殊含义,因此不能用于变量名、函数名等地方。原始标识符允许你在通常不允许使用关键字的地方使用它们。当 Rust 引入新关键字,而使用旧版 Rust 的库中存在与新版引入的关键字同名的变量或函数时,这尤其有用。
例如,考虑一个使用 Rust 2015 版本编译的 crate foo,它导出了一个名为 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();
}