#cast #specialization #any

identity_cast

通过 Any 动态专门化类型的库

1 个稳定版本

1.0.0 2021年8月14日

#13 in #specialization

MIT/Apache

7KB
79 行代码(不包括注释)

此库提供通过 Any 动态专门化类型的函数。基本思想是,它允许您将任何 T “转换为” 任何其他 U,如果 TU 实际上是同一类型。

这既作为独立函数公开,也可以作为可导入的扩展特质。

示例

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`");
        }
    }
}

无运行时依赖