| Crates.io | identity_cast |
| lib.rs | identity_cast |
| version | 1.0.0 |
| created_at | 2021-08-14 13:58:55.41876+00 |
| updated_at | 2021-08-14 13:58:55.41876+00 |
| description | A library for specializing on types dynamically via `Any` |
| homepage | |
| repository | https://github.com/Kimundi/identity_cast |
| max_upload_size | |
| id | 436250 |
| size | 16,386 |
This library provides functions for specializing on types dynamically via Any.
The basic idea is that it allows you to "cast" any T into any
other U, if T and U are actually the same type.
This is exposed both as freestanding functions, as well as an extension trait that can be imported.
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`");
}
}
}