5 个版本
0.1.1 | 2023 年 12 月 10 日 |
---|---|
0.1.1-rc1 | 2023 年 12 月 6 日 |
0.1.0 | 2023 年 7 月 20 日 |
0.0.0 | 2023 年 6 月 20 日 |
#3 in #aliasing
每月 39 次下载
28KB
281 行代码,不包括注释
::maybe-dangling
ManuallyDrop<T>
和 MaybeDangling<T>
在稳定 Rust 中的语义,参照 https://github.com/rust-lang/rfcs/pull/3336
此 crate 提供两种类型,ManuallyDrop<T>
和 MaybeDangling<T>
,它们各自不携带与它们包含的 T
相关的 别名/可解引用性属性,这意味着它们可以
- 包含一些过期的值,例如
::core::mem::forget()
), - 被传递给一个不检查其值的函数(例如
::core::mem::forget()
), - 表现出定义良好的行为(无未定义行为!)。
参考资料
-
将最终取代此 crate 的 RFC:https://github.com/rust-lang/rfcs/pull/3336
-
实现检查的
::miri
PR:https://github.com/rust-lang/miri/pull/2985 -
由于未使用此而产生
::ouroboros
的可靠性问题:https://github.com/joshua-maros/ouroboros/issues/88 -
由于未使用此而产生
::yoke
的可靠性问题:https://github.com/unicode-org/icu4x/issues/3696