原始标识符

与许多编程语言一样,Rust 也有“关键字”的概念。这些标识符对语言有特殊含义,因此您不能在变量名、函数名和其他地方使用它们。原始标识符允许您在通常不允许使用关键字的地方使用它们。当 Rust 引入新的关键字,而使用旧版 Rust 的库具有与新版本中引入的关键字同名的变量或函数时,这尤其有用。

例如,考虑一个使用 2015 版 Rust 编译的 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();
}