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