Skip to main content

SmlSerialize

Trait SmlSerialize 

Source
pub trait SmlSerialize {
    // Required method
    fn to_sml_value(&self) -> Value;

    // Provided method
    fn to_sml(&self) -> String { ... }
}
Expand description

把一个类型「自然地」序列化为 SML 值: 结构体 → 块、newtype → 透明、单元结构体 → 裸词、 枚举单元变体 → 裸词、带数据变体 → __type 块。

通常用 #[derive(SmlSerialize)] 自动实现(derive feature 默认开启), 也可手动实现。支持的 #[sml(...)] 属性见 swsml-derive 的文档。

Required Methods§

Provided Methods§

Source

fn to_sml(&self) -> String

序列化为 SML 文本(等价于 to_sml 作用于本类型生成的值)。

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl SmlSerialize for &str

Source§

impl SmlSerialize for ()

Source§

impl SmlSerialize for String

Source§

impl SmlSerialize for bool

Source§

impl SmlSerialize for char

Source§

impl SmlSerialize for f32

Source§

impl SmlSerialize for f64

Source§

impl SmlSerialize for i8

Source§

impl SmlSerialize for i16

Source§

impl SmlSerialize for i32

Source§

impl SmlSerialize for i64

Source§

impl SmlSerialize for i128

Source§

impl SmlSerialize for isize

Source§

impl SmlSerialize for str

Source§

impl SmlSerialize for u8

Source§

impl SmlSerialize for u16

Source§

impl SmlSerialize for u32

Source§

impl SmlSerialize for u64

Source§

impl SmlSerialize for u128

Source§

impl SmlSerialize for usize

Source§

impl<T: SmlSerialize> SmlSerialize for Box<T>

Source§

impl<T: SmlSerialize> SmlSerialize for Option<T>

Source§

impl<T: SmlSerialize> SmlSerialize for Vec<T>

Source§

impl<V: SmlSerialize> SmlSerialize for BTreeMap<String, V>

Source§

impl<V: SmlSerialize> SmlSerialize for HashMap<String, V>

Implementors§