4 个稳定版本
使用旧 Rust 2015
1.2.0 | 2020年7月13日 |
---|---|
1.1.1 | 2018年8月2日 |
1.1.0 | 2018年6月9日 |
1.0.0 | 2017年3月9日 |
在 内存管理 类别中排名 #33
每月下载量 3,407,744
用于 5,427 个 Crates (87 个直接使用)
12KB
56 行
此包定义了一个不安全的标记特质 StableDeref,用于那些即使包含类型被移动,也指向固定地址的容器类型。例如,Box、Vec、Rc、Arc 和 String 都实现了此特质。此外,它还定义了 CloneStableDeref,用于像 Rc 这样的类型,其克隆指向相同的地址。
它旨在由诸如 owning_ref 和 rental 这样的包使用,以及希望使他们的代码与这类包互操作的库作者。例如,如果您编写了一个自定义的 Vec 类型,您可以实现 StableDeref,然后用户就可以将您的自定义 Vec 类型与 owning_ref 和 rental 一起使用。
可以通过禁用默认特性(特别是 "std")来启用 no_std 支持。在这种情况下,将不会为上述 std 类型实现此特质,但您仍然可以使用它来为您自己的类型。
启用 "alloc" 特性(禁用默认特性)以使此特质为内置 alloc
包中的上述类型实现
alloc::boxed::Box
alloc::vec::Vec
alloc::rc::Rc
alloc::arc::Arc
alloc::string::String
例如,可以通过以下命令构建支持 alloc 的此包:cargo build --no-default-features --features alloc
或者将其作为 Cargo.toml
依赖项添加,如下所示
[dependencies.stable_deref_trait]
version = "<version>"
default-features = false
features = [ "alloc" ]