Crate proc_macro1.15.0[][src]

Expand description

定义新宏时为宏作者提供的支持库。

由标准发行版提供的该库提供了在过程定义的宏定义的接口中使用的类型,例如,类似函数的宏 #[proc_macro],宏属性 #[proc_macro_attribute] 和自定义派生属性 #[proc_macro_derive]

有关更多信息,请参见 the book

Modules

tracked_envExperimental

跟踪对环境变量的访问。

tracked_pathExperimental

跟踪对其他文件的访问。

token_stream

TokenStream 类型的公共实现详细信息,例如迭代器。

Macros

quoteExperimental

quote!(..) 接受任意的 tokens 并扩展为描述输入的 TokenStream。 例如,quote!(a + b) 将产生一个表达式,该表达式在被求值时将构造 TokenStream [Ident("a"), Punct('+', Alone), Ident("b")]

Structs

DiagnosticExperimental

表示诊断消息和关联的子消息的结构体。

LineColumnExperimental

代表 Span 开头或结尾的行 - 列对。

SourceFileExperimental

给定 Span 的源文件。

Group

分隔的 token 流。

Ident

标识符 (ident)。

LexError

TokenStream::from_str 返回错误。

Literal

字面量字符串 ("hello"),字节字符串 (b"hello"),字符 ('a'),字节字符 (b'a'),带或不带后缀 (‘1’,1u82.32.3f32) 的整数或浮点数。

Punct

Punct 是单个标点符号,例如 +-#

Span

源代码区域以及宏展开信息。

TokenStream

此 crate 提供的主要类型,表示 tokens 的抽象流,或更具体地说,表示 token 树的序列。 该类型提供用于迭代这些 token 树的接口,并且相反,将大量 token 树收集到一个流中。

Enums

LevelExperimental

代表诊断级别的枚举。

Delimiter

描述如何分隔 token 树的序列。

Spacing

描述 Punct 后面是紧跟另一个 Punct (Spacing::Joint) 还是不同的 token 或空格 (Spacing::Alone)。

TokenTree

单个 token 或 token 树的定界序列 (例如 [1, (), ..])。

Traits

MultiSpanExperimental

Trait 由可以转换为一组 Span 的类型实现。

Functions

is_availableExperimental

确定是否已使 proc_macro 可被当前正在运行的程序访问。

quoteExperimental

TokenStream 引用到 TokenStream 中。 这是 quote!() proc 宏的实际实现。

quote_spanExperimental

Span 引用到 TokenStream 中。 这是实现自定义引号所需的。