pub enum Spacing {
Joint,
Alone,
}展开描述
指示一个 Punct token 是否可以与其后面的 token 连接形成一个多字符运算符。
变体§
Joint
一个 Punct token 可以与其后面的 token 连接形成一个多字符运算符。
在使用 proc macro 接口构建的 token 流中,Joint 标点符号 token 可以跟随任何其他 token。然而,在从源代码解析的 token 流中,编译器只会在以下情况下将间距(spacing)设置为 Joint。
- 当一个
Puncttoken 紧随另一个Puncttoken 且中间没有空白时。例如,在+=和++中,+是Joint。 - 当一个单引号
'紧随一个标识符且中间没有空白时。例如,在'lifetime中,'是Joint。
未来此列表可能会扩展,以支持更多 token 组合。
Alone
一个 Punct token 不能与其后面的 token 连接形成一个多字符运算符。
Alone 标点符号 token 可以跟随任何其他 token。在从源代码解析的 token 流中,对于所有不符合上述 Joint 条件的情况,编译器都会将间距设置为 Alone。例如,在 + =、+ident 和 +() 中,+ 是 Alone。特别是,后面没有任何 token 的 token 将被标记为 Alone。