A Box<T>
with T
stored inline for values less than a pointer in size. Requires nightly Rust & alloc
use miny::Miny;
let small = Miny::new(1_u8);
let large = Miny::new([1_usize; 32]);
// small is stored inline on the stack
assert!(Miny::on_stack(&small));
// large is stored with an allocation
assert!(!Miny::on_stack(&large));
// consume the miny and get back a value
let original = Miny::into_inner(large);
assert_eq!(original, [1; 32]);
For more information, read the docs.
- Don't try to deallocate ZSTs when converting from a
Box
(thanks, Cormac!) rsutil
merge documentation overhaul
- Account for changes in
ptr
API's
- Documentation upgrade
- Redid the entire library to require qualified syntax, because I realized that that's probably a good idea
- Initial release
MIT or Apache 2.0
(also hi please give me suggestions for more features to add, this crate feels kinda small)