#稳定 #类型ID #结构体 #标识符 #生成

稳定类型ID

为Rust结构体和枚举生成稳定的类型标识符

1个不稳定版本

0.0.1 2024年1月17日

#19 in #类型ID

自定义许可证

5KB
99 代码行

稳定TypeId

为Rust结构体和枚举生成稳定的类型标识符

用法

使用cargo将此crate添加到项目依赖项

  cargo add stable-typeid

示例

use stable_typeid::*;
fn main() {
    let any = MyStruct {
        anything: "Hello TypeId".to_string(),
    };
    foo(&any);
}
fn foo(any: &dyn StableAny) {
    if let Some(my_struct) = any.downcast_ref::<MyStruct>() {
        println!("{} {}", my_struct.anything, MyStruct::_STABLE_ID);
    }
}
#[derive(StableID)]
struct MyStruct {
    anything: String,
}

依赖项

~255–700KB
~17K SLoC