gen
关键字
概要
gen
是一个 保留关键字。
详情
gen
关键字被保留是 RFC #3513 的一部分,目的是在未来 Rust 版本中引入 “gen 代码块”。gen
代码块将提供一种更轻松编写特定类型迭代器的方法。现在保留该关键字将使 gen
代码块更容易在下一个版本之前稳定下来。
迁移
引入 gen
关键字可能会为任何已经命名为 gen
的标识符带来问题。例如,任何名为 gen
的变量或函数名都会与新的关键字冲突。为了克服这个问题,Rust 支持使用 r#
前缀作为原始标识符,这允许标识符与关键字重叠。
keyword_idents_2024
lint 将自动修改任何名为 gen
的标识符为 r#gen
,以便代码在两个版本上都能继续工作。此 lint 是 rust-2024-compatibility
lint 组的一部分,该 lint 组将在运行 cargo fix --edition
时自动应用。要将您的代码迁移为与 Rust 2024 版本兼容,请运行
cargo fix --edition
例如,这将改变
fn gen() { println!("generating!"); } fn main() { gen(); }
变为
fn r#gen() { println!("generating!"); } fn main() { r#gen(); }
或者,您可以手动启用 lint 以查找需要修改为 r#gen
的 gen
标识符的位置
#![allow(unused)] fn main() { // Add this to the root of your crate to do a manual migration. #![warn(keyword_idents_2024)] }