12个版本
使用旧的Rust 2015
0.4.2 | 2017年5月25日 |
---|---|
0.4.1 | 2015年4月23日 |
0.3.0 | 2015年4月18日 |
0.2.5 | 2015年4月18日 |
0.1.1 | 2014年11月28日 |
#2350 in Rust模式
82,367 每月下载量
在 273 个crate中使用 (10 直接)
7KB
87 行
Unsafe-Any
从特例对象到具体类型的非安全向下转换的便利特例。
概述
此crate定义了两个新特例 UncheckedAnyDowncast
和 UncheckedAnyMutDowncast
,它们定义了从实现特例对象到任何实现 Any
类型的向下转换的方法。
它还定义了两个便利的实现,这些实现针对 &'a Any
和 &'a Any
,这些是最常见的特例对象,可能从中进行向下转换。
示例
let a = box 7u as Box<Any>;
unsafe { assert_eq!(*a.downcast_ref_unchecked::<uint>(), 7u); }
许可证
MIT
lib.rs
:
特例,用于从特例对象向下转换为非特例或非特例引用的具体类型。仅在您绝对确定特例对象中的数据类型时才应使用这些特例 - 注意风险等。
最初受https://github.com/chris-morgan/anymap和std::any::Any
的实现启发。
依赖
~7KB