proc_macro

枚举 Delimiter

1.29.0 · 源码
pub enum Delimiter {
    Parenthesis,
    Brace,
    Bracket,
    None,
}
展开描述

描述了 token tree 序列是如何分隔的。

变体§

§1.29.0

圆括号

( ... )

§1.29.0

花括号

{ ... }

§1.29.0

方括号

[ ... ]

§1.29.0

None

∅ ... ∅ 一种不可见的分隔符,例如,可能出现在来自“宏变量” $var 的 token 周围。在 $var * 3 这种情况下,当 $var1 + 2 时,保留运算符优先级非常重要。不可见的分隔符可能无法在 token 流通过字符串的往返过程中幸存下来。

注意:rustc 目前可以忽略 proc_macro 输出中由 None 分隔的 token 分组。只有由 macro_rules 宏在 proc_macro 宏的输入中创建的 None 分隔组才会被保留,并且仅在非常特定的情况下。因此,任何由 proc_macro (重新)创建的 None 分隔组将不会保留如上所述的运算符优先级。在这种情况下,应使用其他 Delimiter 变体。这是一个 rustc 错误。有关详细信息,请参阅 rust-lang/rust#67062

Trait 实现§

1.29.0 · 源码§

impl Clone for Delimiter

源码§

fn clone(&self) -> Delimiter

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

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

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

impl Debug for Delimiter

源码§

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

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

impl PartialEq for Delimiter

源码§

fn eq(&self, other: &Delimiter) -> bool

测试 selfother 值是否相等,并被 == 使用。
1.0.0 · 源码§

fn ne(&self, other: &Rhs) -> bool

测试 !=。默认实现几乎总是足够的,不应在没有充分理由的情况下被覆盖。
1.29.0 · 源码§

impl Copy for Delimiter

1.29.0 · 源码§

impl Eq for Delimiter

1.29.0 · 源码§

impl StructuralPartialEq for Delimiter

自动 Trait 实现§

泛型实现§

源码§

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, dst: *mut u8)

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

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, 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>

执行转换。