proc_macro

结构体 Group

1.29.0 · Source
pub struct Group(/* private fields */);
展开描述

一个带分隔符的 token 流。

Group 内部包含一个 TokenStream,它被 Delimiter 包围。

实现§

Source§

impl Group

1.29.0 · Source

pub fn new(delimiter: Delimiter, stream: TokenStream) -> Group

创建一个新的 Group,使用给定的 delimiter 和 token 流。

此构造函数会将此 group 的 span 设置为 Span::call_site()。要更改 span,您可以使用下面的 set_span 方法。

1.29.0 · Source

pub fn delimiter(&self) -> Delimiter

返回此 Group 的 delimiter

1.29.0 · Source

pub fn stream(&self) -> TokenStream

返回在此 Group 中分隔的 token 的 TokenStream

请注意,返回的 token 流不包括上面返回的 delimiter。

1.29.0 · Source

pub fn span(&self) -> Span

返回此 token 流的 delimiters 的 span,跨越整个 Group

pub fn span(&self) -> Span {
           ^^^^^^^
1.55.0 · Source

pub fn span_open(&self) -> Span

返回指向此 group 的 opening delimiter 的 span。

pub fn span_open(&self) -> Span {
                ^
1.55.0 · Source

pub fn span_close(&self) -> Span

返回指向此 group 的 closing delimiter 的 span。

pub fn span_close(&self) -> Span {
                       ^
1.29.0 · Source

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

配置此 Group 的 delimiters 的 span,但不配置其内部 token。

此方法不会设置此 group 所跨越的所有内部 token 的 span,而只会设置 Group 级别的 delimiter token 的 span。

Trait 实现§

1.29.0 · Source§

impl Clone for Group

Source§

fn clone(&self) -> Group

返回值的副本。阅读更多
1.0.0 · Source§

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

source 执行复制赋值。阅读更多
1.29.0 · Source§

impl Debug for Group

Source§

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

使用给定的 formatter 格式化值。阅读更多
1.29.0 · Source§

impl Display for Group

将 group 打印为字符串,该字符串应无损地转换回相同的 group(模 span),但 TokenTree::GroupDelimiter::None delimiter 可能除外。

Source§

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

使用给定的 formatter 格式化值。阅读更多
1.29.0 · Source§

impl From<Group> for TokenTree

Source§

fn from(g: Group) -> TokenTree

从输入类型转换为此类型。
Source§

impl ToTokens for Group

Source§

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

🔬这是一个仅在 nightly 版本可用的实验性 API。(proc_macro_totokens #130977
self 写入给定的 TokenStream阅读更多
Source§

fn to_token_stream(&self) -> TokenStream

🔬这是一个仅在 nightly 版本可用的实验性 API。(proc_macro_totokens #130977
self 直接转换为 TokenStream 对象。阅读更多
Source§

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

🔬这是一个仅在 nightly 版本可用的实验性 API。(proc_macro_totokens #130977
self 直接转换为 TokenStream 对象。阅读更多
1.29.0 · Source§

impl !Send for Group

1.29.0 · Source§

impl !Sync for Group

自动 Trait 实现§

泛型实现§

Source§

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

Source§

fn type_id(&self) -> TypeId

获取 selfTypeId阅读更多
Source§

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

Source§

fn borrow(&self) -> &T

从拥有的值不可变地借用。阅读更多
Source§

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

Source§

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

从拥有的值可变地借用。阅读更多
Source§

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

Source§

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

🔬这是一个仅在 nightly 版本可用的实验性 API。(clone_to_uninit #126799
selfdst 执行复制赋值。阅读更多
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

返回未更改的参数。

Source§

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

Source§

fn into(self) -> U

调用 U::from(self)

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

Source§

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

Source§

type Owned = T

获取所有权后 resulting 的类型。
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

fn to_string(&self) -> String

将给定的值转换为 String阅读更多
Source§

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

Source§

type Error = Infallible

转换错误事件中返回的类型。
Source§

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

执行转换。
Source§

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

Source§

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

转换错误事件中返回的类型。
Source§

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

执行转换。