12 releases
Uses old Rust 2015
| 0.4.2 | May 25, 2017 |
|---|---|
| 0.4.1 | Apr 23, 2015 |
| 0.3.0 | Apr 18, 2015 |
| 0.2.5 | Apr 18, 2015 |
| 0.1.1 | Nov 28, 2014 |
#2883 in Rust patterns
109,636 downloads per month
Used in 272 crates
(9 directly)
7KB
87 lines
Traits for unsafe downcasting from trait objects to & or &mut references of concrete types. These should only be used if you are absolutely certain of the type of the data in said trait object - there be dragons etc.
Originally inspired by https://github.com/chris-morgan/anymap
and the implementation of std::any::Any.
Unsafe-Any 
Convenience traits for unsafe downcasting from trait objects to concrete types.
Overview
This crate defines two new traits UncheckedAnyDowncast and UncheckedAnyMutDowncast,
which define methods for downcasting to any type that implements Any from
implemented trait objects.
It also defines two convenience implementations of these traits for &'a Any
and &'a mut Any, which are the most common trait objects that you might
downcast from.
Example:
let a = box 7u as Box<Any>;
unsafe { assert_eq!(*a.downcast_ref_unchecked::<uint>(), 7u); }
License
MIT
Dependencies
~7KB