1 个稳定版本

使用旧的 Rust 2015

1.0.0 2022 年 9 月 3 日

#2005 in Rust 模式

Download history 36500/week @ 2024-03-15 34745/week @ 2024-03-22 33181/week @ 2024-03-29 34812/week @ 2024-04-05 36847/week @ 2024-04-12 40060/week @ 2024-04-19 40676/week @ 2024-04-26 39133/week @ 2024-05-03 42643/week @ 2024-05-10 39424/week @ 2024-05-17 39835/week @ 2024-05-24 44318/week @ 2024-05-31 47953/week @ 2024-06-07 41349/week @ 2024-06-14 36860/week @ 2024-06-21 28541/week @ 2024-06-28

163,367 每月下载量
7 个crate中(通过 typemap-ors)使用

MIT 许可证

8KB
101

unsafe-any-ors CI

方便的特性和从 trait 对象到具体类型的 & 或 &mut 引用的非安全降级。

概述

这个crate定义了两个新的特质 UncheckedAnyDowncastUncheckedAnyMutDowncast,它们定义了从实现 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/anymapstd::any::Any 的实现的影响。

依赖

~8KB