6个版本 (破坏性)
0.6.0 | 2024年1月3日 |
---|---|
0.5.0 | 2023年7月29日 |
0.4.0 | 2023年5月7日 |
0.3.0 | 2023年4月19日 |
0.1.0 | 2023年4月7日 |
#1926 in Rust模式
每月25次下载
22KB
345 行
maybe_uninit_ext
扩展maybe-uninit类型。
lib.rs
:
maybe_uninit_ext
支持“扩展”的maybe-uninit类型。
示例
// Creates a 4x4 grid of `MaybeUninit` values.
let mut grid = maybe_uninit_ext::uninit::<[[MaybeUninit<usize>; 4]; 4]>();
grid.iter_mut().enumerate().for_each(|(i, row)| {
row.iter_mut().enumerate().for_each(|(j, tile)| {
tile.write(i * j);
});
});
// SAFETY: The grid was fully initialized.
let grid = unsafe { maybe_uninit_ext::assume_init(grid) };
assert_eq!(
grid,
[[0, 0, 0, 0], [0, 1, 2, 3], [0, 2, 4, 6], [0, 3, 6, 9]],
);
夜间特性
启用nightly
特性标志后,此crate提供的许多函数变为const
。请注意,这需要夜间工具链,并依赖于许多不稳定特性。请谨慎使用。
依赖项
~110KB