Rust 的 From 特性是用于在类型之间进行转换的通用特征。任何两种类型 TypeATypeB

impl From<TypeA> for TypeB

表示 TypeB 的实例保证可以从 TypeA 的实例构造。From 的实现如下所示:

struct TypeA {
    a: u32,
}

struct TypeB {
    b: u32,
}

impl From<TypeA> for TypeB {
    fn from(src: TypeA) -> Self {
        TypeB {
            b: src.a,
        }
    }
}