1 个稳定版本
使用旧的 Rust 2015
1.0.0 | 2022 年 9 月 3 日 |
---|
#2005 in Rust 模式
163,367 每月下载量
在 7 个crate中(通过 typemap-ors)使用
8KB
101 行
unsafe-any-ors
方便的特性和从 trait 对象到具体类型的 & 或 &mut 引用的非安全降级。
概述
这个crate定义了两个新的特质 UncheckedAnyDowncast
和 UncheckedAnyMutDowncast
,它们定义了从实现 Any
的特质对象到任何类型的降级方法。
它还定义了两个方便的实现,这些实现适用于 &'a Any
和 &'a mut Any
,这是最常见的可能进行降级的特质对象。
示例
let a = box 7u as Box<Any>;
unsafe { assert_eq!(*a.downcast_ref_unchecked::<uint>(), 7u); }
许可证
MIT
lib.rs
:
从特质对象到具体类型的 & 或 &mut 引用的非安全降级的特质。这些应该仅在您绝对确定该特质对象中的数据类型时使用 - 龙等等。
最初受到 https://github.com/chris-morgan/anymap 和 std::any::Any
的实现的影响。
依赖
~8KB