#aliasing #unsafe #dereferenceable #dangling #manually-drop

maybe-dangling

ManuallyDrop<T>MaybeDangling<T> 在稳定 Rust 中的语义,参照 https://github.com/rust-lang/rfcs/pull/3336

5 个版本

0.1.1 2023 年 12 月 10 日
0.1.1-rc12023 年 12 月 6 日
0.1.0 2023 年 7 月 20 日
0.0.0 2023 年 6 月 20 日

#3 in #aliasing

每月 39 次下载

Zlib OR MIT OR Apache-2.0

28KB
281 行代码,不包括注释

::maybe-dangling

ManuallyDrop<T>MaybeDangling<T> 在稳定 Rust 中的语义,参照 https://github.com/rust-lang/rfcs/pull/3336

Repository Latest version Documentation MSRV License CI no_std compatible

此 crate 提供两种类型,ManuallyDrop<T>MaybeDangling<T>,它们各自不携带与它们包含的 T 相关的 别名/可解引用性属性,这意味着它们可以

  1. 包含一些过期的值,例如 ::core::mem::forget()),
  2. 被传递给一个不检查其值的函数(例如 ::core::mem::forget()),
  3. 表现出定义良好的行为(无未定义行为!)。

参考资料

无运行时依赖

特性