2个版本
0.1.1 | 2019年11月28日 |
---|---|
0.1.0 | 2019年11月28日 |
#664 在 内存管理
17KB
257 行
Evobox
一种指针类型,允许在不重新分配的情况下安全地转换其内容。此crate不依赖于标准库,可以在#![no_std]
上下文中使用。但它需要alloc
crate。
示例
use evobox::{EvolveBox, L};
let s: EvolveBox<L<&str, L<String, L<u32>>>> = EvolveBox::new("7");
let owned = s.evolve(|v| v.to_string());
assert_eq!(owned.as_str(), "7");
let seven = owned.try_evolve(|s| s.parse()).expect("invalid integer");
assert_eq!(*seven, 7);
lib.rs
:
一种指针类型,允许在不重新分配的情况下安全地转换其内容。此crate不依赖于标准库,可以在#![no_std]
上下文中使用。但它需要alloc
crate。
更多详细信息请参阅EvolveBox
的文档。