12 个版本 (7 个重大更改)

0.10.2 2022年7月12日
0.9.0 2022年7月4日

#2196Rust 模式

Download history 4/week @ 2024-03-09 1/week @ 2024-03-16 55/week @ 2024-03-30 8/week @ 2024-04-06

每月 59 次下载
用于 mmtkvdb

MIT/Apache 许可证

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 特性的关联类型,这有助于类型推断。
    • 必须删除对 FromOwned 实现。
  • 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
    • 已移除AsMutBorrowMutDerefMutOwned的实现
  • 2022-06-30: 版本 0.4.0
    • 已移除对Box<T>Vec<T>StringIntoOwned实现
    • 新增包装器类型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 添加了一些特质实现(AsRefAsMutBorrowBorrowMutDisplay),现在 Debug::fmt 的输出是透明的
    • Deref 现在是 IntoOwned 的超特质,并且 IntoOwned::Owned 必须实现 Borrow<<Self as Deref>::Target>
  • 2022-06-26: 版本 0.1.0
    • 初始发布

无运行时依赖