关键词
Rust 将关键词分为三个类别
严格关键词
这些关键词只能在其正确的上下文中使用。它们不能用作以下内容的名称:
词法分析器
KW_AS :as
KW_BREAK :break
KW_CONST :const
KW_CONTINUE :continue
KW_CRATE :crate
KW_ELSE :else
KW_ENUM :enum
KW_EXTERN :extern
KW_FALSE :false
KW_FN :fn
KW_FOR :for
KW_IF :if
KW_IMPL :impl
KW_IN :in
KW_LET :let
KW_LOOP :loop
KW_MATCH :match
KW_MOD :mod
KW_MOVE :move
KW_MUT :mut
KW_PUB :pub
KW_REF :ref
KW_RETURN :return
KW_SELFVALUE :self
KW_SELFTYPE :Self
KW_STATIC :static
KW_STRUCT :struct
KW_SUPER :super
KW_TRAIT :trait
KW_TRUE :true
KW_TYPE :type
KW_UNSAFE :unsafe
KW_USE :use
KW_WHERE :where
KW_WHILE :while
以下关键词从 2018 版本开始添加。
词法分析器 2018+
KW_ASYNC :async
KW_AWAIT :await
KW_DYN :dyn
保留关键词
这些关键词目前尚未使用,但被保留供将来使用。它们与严格关键词具有相同的限制。这样做的原因是使当前的程序向前兼容未来版本的 Rust,禁止它们使用这些关键词。
词法分析器
KW_ABSTRACT :abstract
KW_BECOME :become
KW_BOX :box
KW_DO :do
KW_FINAL :final
KW_MACRO :macro
KW_OVERRIDE :override
KW_PRIV :priv
KW_TYPEOF :typeof
KW_UNSIZED :unsized
KW_VIRTUAL :virtual
KW_YIELD :yield
以下关键词从 2018 版本开始保留。
词法分析器 2018+
KW_TRY :try
以下关键词从 2024 版本开始保留。
词法分析器 2024+
KW_GEN :gen
弱关键词
这些关键词仅在某些上下文中具有特殊含义。例如,可以声明一个名为 union
的变量或方法。
词法分析器
KW_MACRO_RULES :macro_rules
KW_UNION :union
KW_STATICLIFETIME :'static
KW_SAFE :safe
KW_RAW :raw
词法分析器 2015
KW_DYN :dyn
-
macro_rules
用于创建自定义 宏。 -
union
用于声明 union,并且仅在 union 声明中使用时才是关键词。 -
'static
用于静态生命周期,不能用作泛型生命周期参数 或 循环标签// error[E0262]: invalid lifetime parameter name: `'static` fn invalid_lifetime_parameter<'static>(s: &'static str) -> &'static str { s }
-
在 2015 版本中,
dyn
在类型位置后跟不以::
或<
开头的路径、生命周期、问号、for
关键词或左括号时是关键词。从 2018 版本开始,
dyn
已被提升为严格关键词。 -
safe
用于函数和静态变量,这在 外部块 中具有意义。 -
raw
用于 原始借用运算符,并且仅在匹配原始借用运算符形式(例如&raw const expr
或&raw mut expr
)时才是关键词。