pub enum Delimiter {
Parenthesis,
Brace,
Bracket,
None,
}
展开描述
描述令牌树序列如何被分隔。
变体§
圆括号
( ... )
花括号
{ ... }
方括号
[ ... ]
无
∅ ... ∅
一种不可见的分隔符,例如,可能出现在来自“宏变量” $var
的令牌周围。在诸如 $var * 3
其中 $var
是 1 + 2
的情况下,保留运算符优先级很重要。不可见分隔符在通过字符串进行令牌流的往返转换时可能无法保留。
注意:rustc 目前可能会忽略 proc_macro 输出中由 None
分隔的令牌分组。只有在 proc_macro 宏的输入中由 macro_rules 宏创建的 None
分隔组会被保留,并且仅在非常特定的情况下。因此,任何由 proc_macro (重新)创建的 None
分隔组将无法像上面所示那样保留运算符优先级。在此上下文中,应该使用其他 Delimiter
变体来代替。这是一个 rustc 错误。详情请参阅 rust-lang/rust#67062。