#box #stack #dst

nightly no-std miny

小值优化版的 Box

3 个稳定版本

2.0.1 2024年1月9日
2.0.0 2024年1月8日
1.0.0 2023年7月11日

#1792 in 数据结构

MIT/Apache

20KB
350

miny

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

Box<T>,其中 T 对于小于指针大小的值存储在行内。需要 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]);

更多信息,请 阅读文档

变更日志

2.0.1

  • 文档升级

2.0.0

  • 重写了整个库以要求合格语法,因为我意识到这可能是个好主意

1.0.0

  • 初始发布

许可证

MITApache 2.0

(也请提供关于添加更多功能的建议,这个crate感觉有点小)

无运行时依赖