1 个稳定版本
1.0.0 | 2021年8月14日 |
---|
#13 in #specialization
7KB
79 行代码(不包括注释)
此库提供通过 Any
动态专门化类型的函数。基本思想是,它允许您将任何 T
“转换为” 任何其他 U
,如果 T
和 U
实际上是同一类型。
这既作为独立函数公开,也可以作为可导入的扩展特质。
示例
use identity_cast::IdentityCast;
fn print_i32_specially<T: 'static>(v: T) {
match v.into_same::<i32>() {
Ok(v) => {
println!("This is a `i32` with value {}", v);
}
Err(_) => {
println!("This is some `T`");
}
}
}