枚举 Spacing

1.29.0 · 源码
pub enum Spacing {
    Joint,
    Alone,
}
展开描述

指示一个 Punct token 是否可以与其后面的 token 连接形成一个多字符运算符。

变体§

§1.29.0

Joint

一个 Punct token 可以与其后面的 token 连接形成一个多字符运算符。

在使用 proc macro 接口构建的 token 流中,Joint 标点符号 token 可以跟随任何其他 token。然而,在从源代码解析的 token 流中,编译器只会在以下情况下将间距(spacing)设置为 Joint

  • 当一个 Punct token 紧随另一个 Punct token 且中间没有空白时。例如,在 +=++ 中,+Joint
  • 当一个单引号 ' 紧随一个标识符且中间没有空白时。例如,在 'lifetime 中,'Joint

未来此列表可能会扩展,以支持更多 token 组合。

§1.29.0

Alone

一个 Punct token 不能与其后面的 token 连接形成一个多字符运算符。

Alone 标点符号 token 可以跟随任何其他 token。在从源代码解析的 token 流中,对于所有不符合上述 Joint 条件的情况,编译器都会将间距设置为 Alone。例如,在 + =+ident+() 中,+Alone。特别是,后面没有任何 token 的 token 将被标记为 Alone

Trait 实现§

1.29.0 · 源码§

impl Clone for Spacing

源码§

fn clone(&self) -> Spacing

返回值的副本。 了解更多
1.0.0 · 源码§

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

source 执行复制赋值。 了解更多
1.29.0 · 源码§

impl Debug for Spacing

源码§

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

使用给定的格式化程序格式化值。 了解更多
1.29.0 · 源码§

impl PartialEq for Spacing

源码§

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

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

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

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

impl Copy for Spacing

1.29.0 · 源码§

impl Eq for Spacing

1.29.0 · 源码§

impl StructuralPartialEq for Spacing

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

执行转换。