Crates.io | stack-any |
lib.rs | stack-any |
version | 0.1.2 |
source | src |
created_at | 2024-06-27 13:52:46.43072 |
updated_at | 2024-06-29 11:51:13.170362 |
description | A library that provides a type that owns same size type on the stack for type erasure. |
homepage | |
repository | https://github.com/GossiperLoturot/stack-any |
max_upload_size | |
id | 1285771 |
size | 9,332 |
A library that provides a type that owns same size type on the stack for type erasure.
let mut stacks = [
stack_any::stack_any!(Vec<i32>, vec![]),
stack_any::stack_any!(Vec<char>, vec![]),
];
stacks[0].downcast_mut::<Vec<i32>>().unwrap().push(5);
stacks[1].downcast_mut::<Vec<char>>().unwrap().push('x');
assert_eq!(stacks[0].downcast_ref(), Some(&vec![5]));
assert_eq!(stacks[1].downcast_ref(), Some(&vec!['x']));