#向后兼容 #兼容性 #稳定 #朋友 #保证 #布尔 #copy-clone

maybe-uninit

为向后兼容的朋友提供 MaybeUninit

2 个稳定版本

使用旧的 Rust 2015

2.0.0 2019 年 7 月 10 日
1.0.0 2019 年 7 月 9 日

#1044Rust 模式

Download history 117576/week @ 2024-03-14 107120/week @ 2024-03-21 129863/week @ 2024-03-28 101481/week @ 2024-04-04 106529/week @ 2024-04-11 109251/week @ 2024-04-18 105040/week @ 2024-04-25 96986/week @ 2024-05-02 110386/week @ 2024-05-09 116703/week @ 2024-05-16 103168/week @ 2024-05-23 113371/week @ 2024-05-30 120752/week @ 2024-06-06 106609/week @ 2024-06-13 114146/week @ 2024-06-20 84438/week @ 2024-06-27

450,604 每月下载量
用于 3,667 个 crate(其中 2 个直接使用)

Apache-2.0 或 MIT

26KB
94

maybe-uninit

很常见,使用 std::mem::uninitialized() 的代码可能是不安全的。因此,在 std::mem 中添加了 MaybeUninit 联合,并且 std::mem::uninitialized() 正在弃用。然而,MaybeUninit 是相当最近才添加的。有时你可能还想支持 Rust 的旧版本。这就是 maybe-uninit 发挥作用的地方:它支持从 1.20.0 版本开始的稳定 Rust 版本。

遗憾的是,在稳定 Rust 中无法实现完整的 MaybeUninit 功能。因此,该库以分阶段的方式提供了 MaybeUninit 的保证

  • Rust 1.36.0 及以后:Rust 稳定的 MaybeUninit 实现将被重新导出

  • Rust 1.22.x - 1.35.0:在未占用类型上不会引发恐慌,与如 bool 或枚举类型一起使用时存在不安全性。但是,在回溯过程中(例如)意外 Drop 有保护措施!

  • Rust 1.20.x - 1.21.x:不支持 MaybeUninit<T> 的 Copy/Clone,即使 T 实现 CopyClone

无运行时依赖