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