miny

Crates.iominy
lib.rsminy
version2.0.1
sourcesrc
created_at2023-07-11 14:18:46.815216
updated_at2024-01-09 16:12:49.083292
descriptionBox with small value optimization
homepagehttps://github.com/1e1001/miny
repositoryhttps://github.com/1e1001/miny
max_upload_size
id913818
size32,387
Michael (1e1001)

documentation

https://docs.rs/miny

README

miny

Repository Crates.io docs.rs MIT OR Apache-2.0

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.

Changelog

2.0.1

  • Documentation upgrade

2.0.0

  • Redid the entire library to require qualified syntax, because I realized that that's probably a good idea

1.0.0

  • Initial release

License

MIT or Apache 2.0

(also hi please give me suggestions for more features to add, this crate feels kinda small)

Commit count: 6

cargo fmt