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
- 初始发布