结构体 Ident

1.29.0 · 源代码
pub struct Ident(/* private fields */);
展开描述

一个标识符(ident)。

实现§

源代码§

impl Ident

1.29.0 · 源代码

pub fn new(string: &str, span: Span) -> Ident

创建一个新的 Ident,使用给定的 string 以及指定的 spanstring 参数必须是语言允许的有效标识符(包括关键字,例如 selffn)。否则,函数将 panic。

请注意,span 目前在 rustc 中配置此标识符的卫生信息。

目前,Span::call_site() 明确选择“调用点”卫生,这意味着使用此 span 创建的标识符将被解析,就像它们直接写在宏调用的位置一样,宏调用位置的其他代码也能够引用它们。

稍后的 span,例如 Span::def_site(),将允许选择“定义点”卫生,这意味着使用此 span 创建的标识符将在宏定义的位置解析,宏调用位置的其他代码将无法引用它们。

由于 hygiene 的当前重要性,与其它 token 不同,此构造函数在构造时需要指定一个 Span

1.47.0 · 源代码

pub fn new_raw(string: &str, span: Span) -> Ident

Ident::new 相同,但创建一个原始标识符(r#ident)。string 参数必须是语言允许的有效标识符(包括关键字,例如 fn)。在路径段中可用的关键字(例如 selfsuper)不支持,并且会导致 panic。

1.29.0 · 源代码

pub fn span(&self) -> Span

返回此 Ident 的 span,它包含 to_string 返回的整个字符串。

1.29.0 · 源代码

pub fn set_span(&mut self, span: Span)

配置此 Ident 的 span,可能会改变其卫生上下文。

Trait 实现§

1.29.0 · 源代码§

impl Clone for Ident

源代码§

fn clone(&self) -> Ident

返回值的副本。 阅读更多
1.0.0 · 源代码§

fn clone_from(&mut self, source: &Self)

source 执行复制赋值。 阅读更多
1.29.0 · 源代码§

impl Debug for Ident

源代码§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

使用给定的格式化器格式化值。 阅读更多
1.29.0 · 源代码§

impl Display for Ident

将标识符打印为一个字符串,该字符串应可无损地转换回相同的标识符。

源代码§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

使用给定的格式化器格式化值。 阅读更多
1.29.0 · 源代码§

impl From<Ident> for TokenTree

源代码§

fn from(g: Ident) -> TokenTree

从输入类型转换为此类型。
源代码§

impl ToTokens for Ident

源代码§

fn to_tokens(&self, tokens: &mut TokenStream)

🔬这是一个仅限 Nightly 版本的实验性 API。(proc_macro_totokens #130977)
self 写入给定的 TokenStream阅读更多
源代码§

fn to_token_stream(&self) -> TokenStream

🔬这是一个仅限 Nightly 版本的实验性 API。(proc_macro_totokens #130977)
self 直接转换为一个 TokenStream 对象。 阅读更多
源代码§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

🔬这是一个仅限 Nightly 版本的实验性 API。(proc_macro_totokens #130977)
self 直接转换为一个 TokenStream 对象。 阅读更多

自动 Trait 实现§

§

impl Freeze for Ident

§

impl RefUnwindSafe for Ident

§

impl !Send for Ident

§

impl !Sync for Ident

§

impl Unpin for Ident

§

impl UnwindSafe for Ident

通用实现§

源代码§

impl<T> Any for T
where T: 'static + ?Sized,

源代码§

fn type_id(&self) -> TypeId

获取 selfTypeId阅读更多
源代码§

impl<T> Borrow<T> for T
where T: ?Sized,

源代码§

fn borrow(&self) -> &T

从拥有的值进行不可变借用。 阅读更多
源代码§

impl<T> BorrowMut<T> for T
where T: ?Sized,

源代码§

fn borrow_mut(&mut self) -> &mut T

从拥有的值进行可变借用。 阅读更多
源代码§

impl<T> CloneToUninit for T
where T: Clone,

源代码§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬这是一个仅限 Nightly 版本的实验性 API。(clone_to_uninit #126799)
self 执行复制赋值到 dest阅读更多
源代码§

impl<T> From<T> for T

源代码§

fn from(t: T) -> T

返回未更改的参数。

源代码§

impl<T, U> Into<U> for T
where U: From<T>,"

源代码§

fn into(self) -> U

调用 U::from(self)

也就是说,此转换是 From<T> for U 的实现所选择的任何操作。

源代码§

impl<T> ToOwned for T
where T: Clone,

源代码§

type Owned = T

获取所有权后的结果类型。
源代码§

fn to_owned(&self) -> T

从借用的数据创建拥有的数据,通常通过克隆。 阅读更多
源代码§

fn clone_into(&self, target: &mut T)

使用借用的数据替换拥有的数据,通常通过克隆。 阅读更多
源代码§

impl<T> ToString for T
where T: Display + ?Sized,

源代码§

fn to_string(&self) -> String

将给定值转换为 String阅读更多
源代码§

impl<T, U> TryFrom<U> for T
where U: Into<T>,"

源代码§

type Error = Infallible

转换错误时返回的类型。
源代码§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

执行转换。
源代码§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,"

源代码§

type Error = <U as TryFrom<T>>::Error

转换错误时返回的类型。
源代码§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

执行转换。