pub struct Ident(/* private fields */);
展开描述
一个标识符 (ident
)。
实现§
源码§impl Ident
impl Ident
1.29.0 · 源码pub fn new(string: &str, span: Span) -> Ident
pub fn new(string: &str, span: Span) -> Ident
创建一个新的 Ident
,使用给定的 string
以及指定的 span
。string
参数必须是语言允许的有效标识符(包括关键字,例如 self
或 fn
)。否则,该函数会 panic。
请注意,span
,目前在 rustc 中,配置了此标识符的卫生信息。
目前,Span::call_site()
显式选择加入“调用点”卫生,这意味着使用此 span 创建的标识符将被解析,就像它们直接写在宏调用的位置一样,并且宏调用位置的其他代码也能够引用它们。
稍后的 span,如 Span::def_site()
,将允许选择加入“定义点”卫生,这意味着使用此 span 创建的标识符将在宏定义的位置解析,并且宏调用位置的其他代码将无法引用它们。
由于卫生目前的重要性,此构造函数与其它 token 不同,需要在构造时指定一个 Span
。
Trait 实现§
源码§impl ToTokens for Ident
impl ToTokens for Ident
源码§fn to_tokens(&self, tokens: &mut TokenStream)
fn to_tokens(&self, tokens: &mut TokenStream)
🔬这是一个仅在 nightly 版本可用的实验性 API。 (
proc_macro_totokens
#130977)源码§fn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
🔬这是一个仅在 nightly 版本可用的实验性 API。 (
proc_macro_totokens
#130977)源码§fn into_token_stream(self) -> TokenStreamwhere Self: Sized,
fn into_token_stream(self) -> TokenStreamwhere Self: Sized,
🔬这是一个仅在 nightly 版本可用的实验性 API。 (
proc_macro_totokens
#130977)