提升

枚举 Promotion 

源代码
pub(crate) enum Promotion {
    Direct,
    IntToLong,
    IntToFloat,
    IntToDouble,
    LongToFloat,
    LongToDouble,
    FloatToDouble,
    StringToBytes,
    BytesToString,
}
展开描述

定义在模式解析过程中应用的提升类型。

模式解析可能需要将写入器的数据类型提升为读取器的数据类型。例如,int 可以提升为 longfloatdouble

变体§

§

直接

直接读取,不进行数据类型提升。

§

整型转长整型

int 提升为 long

§

整型转浮点

int 提升为 float

§

整型转双精度

int 提升为 double

§

长整型转浮点

long 提升为 float

§

长整型转双精度

long 提升为 double

§

浮点转双精度

float 提升为 double

§

字符串转字节

string 提升为 bytes

§

字节转字符串

bytes 提升为 string

Trait 实现§

源代码§

Promotion 实现 Clone

源代码§

fn clone(&self) -> Promotion

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

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

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

Promotion 实现 Debug

源代码§

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

使用给定的格式化程序格式化值。 阅读更多
源代码§

Promotion 实现 Display

源代码§

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

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

Promotion 实现 PartialEq

源代码§

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

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

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

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

Promotion 实现 Copy

源代码§

Promotion 实现 Eq

源代码§

Promotion 实现 StructuralPartialEq

自动 Trait 实现§

§

Promotion 实现 Freeze

§

Promotion 实现 RefUnwindSafe

§

Promotion 实现 Send

§

Promotion 实现 Sync

§

Promotion 实现 Unpin

§

Promotion 实现 UnwindSafe

通用实现§

§

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
执行从 selfdest 的复制赋值。 阅读更多
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

检查此值是否与给定键等效。 阅读更多
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

将 self 与 key 进行比较,如果它们相等则返回 true
§

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> Same for T

§

type Output = T

应该总是 Self
§

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

§

type Owned = T

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

fn to_owned(&self) -> T

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

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

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

为 T 实现 ToString
其中 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>

执行转换。
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,