原始标识符
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();
}