12 个版本 (7 个重大更改)
| 0.10.2 | 2022年7月12日 |
|---|---|
| 0.9.0 |
|
#2196 在 Rust 模式
每月 59 次下载
用于 mmtkvdb
15KB
232 行代码
deref_owned
std::borrow::Cow 的泛化,可用于在某些场景中减少运行时开销。
变更日志
- 2022-07-12: 版本 0.10.2
- 改进了文档
- 2022-07-10: 版本 0.10.1
- 改进了文档
- 将
#[repr(transparent)]添加到Owned包装器中
- 2022-07-10: 版本 0.10.0
- 现在使用借用(即指向的类型)类型作为
Owned的类型参数。这允许将借用类型指定为GenericCow特性的关联类型,这有助于类型推断。 - 必须删除对
From的Owned实现。
- 现在使用借用(即指向的类型)类型作为
- 2022-07-04: 版本 0.8.2
- 为
Owned<T>添加了From<T>的实现 - 在变更日志中添加了缺失的版本号 0.8.0 和 0.8.1
- 添加了一些测试
- 为
- 2022-07-04: 版本 0.9.0 (已撤回)
- 为
Owned<T>添加了From<T>的实现 - 移除了对
AsRef<U>的实现,并为Owned<T>仅实现AsRef<T>(这是为了允许从Owned<T>到T的转换,其中T: !AsRef<T>)(由于应在该情况下使用.borrow(),因此被删除。) - 在变更日志中添加了缺失的版本号 0.8.0 和 0.8.1
- 为
- 2022-07-04: 版本 0.8.1
- 在crate级别的文档注释中添加了示例
- 2022-07-02: 版本 0.8.0
- 结构体
Owned现在是一个只有一个类型参数(其内部值的类型)的简单包装器。 - 已移除
Owned::new。 - 已移除相关联的类型
GenericCow<B>::Owned,转而使用<B as ToOwned>::Owned。 - 修改了文档,以避免使用“智能指针”这个术语
- 修改了测试
- 结构体
- 2022-07-01: 版本 0.7.0
- 已移除
Deref作为GenericCow的超特质,并添加了类型参数到GenericCow
- 已移除
- 2022-07-01: 版本 0.6.1
- 已将
Owned::borrowed修正为PhantomData<for<'a> fn(&'a O) -> &'a B>,而不是使用PhantomData<*const B>,这会破坏正确的autotrait行为
- 已将
- 2022-07-01: 版本 0.6.0
- 移除了
Owned的生命周期参数 - 修复了版本 0.5.0 的变更日志
- 移除了
- 2022-07-01: 版本 0.5.0
- 为
Owned添加了生命周期和借用类型的类型参数,其中现在包含了一个借用类型的引用的PhantomData。这使得OwnedRef变得多余,因此已被删除。 IntoOwned已被重命名为GenericCow。- 已移除
AsMut、BorrowMut和DerefMut对Owned的实现
- 为
- 2022-06-30: 版本 0.4.0
- 已移除对
Box<T>、Vec<T>和String的IntoOwned实现 - 新增包装器类型
OwnedRef<T>
- 已移除对
- 2022-06-28: 版本 0.3.0
- 为
Box<T>(where T: ?Sized)、Vec<T>和String添加了IntoOwned的实现,将IntoOwned::Owned设置为Self(替换了之前的Box<T>实现)
- 为
- 2022-06-27: 版本 0.2.0
- 为
Owned添加了一些特质实现(AsRef、AsMut、Borrow、BorrowMut和Display),现在Debug::fmt的输出是透明的 Deref现在是IntoOwned的超特质,并且IntoOwned::Owned必须实现Borrow<<Self as Deref>::Target>
- 为
- 2022-06-26: 版本 0.1.0
- 初始发布