14 个版本
0.4.1 | 2019年9月11日 |
---|---|
0.3.2 | 2018年1月17日 |
0.3.1 | 2017年11月19日 |
0.3.0 | 2016年12月22日 |
0.1.0 | 2016年2月16日 |
#1770 in Rust 模式
377 次每月下载
在 2 个包中使用 (通过 gll)
120KB
3K SLoC
indexing
在 Rust 中使用“生成性”实现“安全的未检查索引”(通过独特的生命周期参数进行品牌化)。
非常实验性,但有些有希望和令人兴奋。
主要关注索引范围,而不仅仅是单个索引。
包功能
- use_std默认启用,禁用以兼容no_std-。
最近更改
- 0.4.1
- 移除对非FixedLength容器的克隆能力,因为在容器中存在长度改变的 .push()/.insert() 方法时,允许克隆容器是错误的。
- 0.4.0
- 添加方法.make_twin()允许两个或多个容器使用相同的信任索引,如果它们大小相同
- 添加新的标记特质FixedLength用于make_twin.
- 移除带品牌的原始指针功能,因为它们需要修订(见 #11)
- 修复.join_cover()
- 中的签名错误ContiguousMut现在它正确使用&mut正确
- 更新开发依赖项
- 添加Ord, PartialOrd实现Range
- 现在使用 Rust 2018,并要求 Rust 1.32 或更高版本。
- 0.3.2
- 修复关于指针转换的未来兼容性警告。
- 添加Ord, Hash实现Index和HashforRange
- 0.3.1
- 修复测试中的错误
- 添加 crates.io 类别
- 0.3.0
- 稍微调整实现特质,PointerRange, Provable, ContainerRef, 使它们在需要的地方不安全。
- 添加Container::range_of
- 0.2.0
- 文档更好
- 重构大多数包,为除切片外的其他后端做准备
- 暴露PIndex, PRange, PSlice它们是安全信任索引和范围的基于指针的等效物。某些算法在使用原始指针表示时更好(例如:下界)。由于我们没有 HKT,因此将所有这些特质化并不愉快,并且尚未完成。
- 新功能:可以将可信索引与 Vec 上的推送/插入相结合。
- 0.1.2
- 添加binary_search_by和lower_bound算法。算法不再需要T: Debug了。
- 0.1.1
- 将文档指向 docs.rs
- 0.1.0
- 添加一些文档和测试
- 修复 Range::join_cover_both 以使用 ProofAdd
- 0.1.0-alpha3
- 添加 IndexingError 并将其用于所有 Results。
- 0.1.0-alpha2
- 添加 ProofAdd 并在 Range::join, Range::join_cover 中使用它
- 使 Index<'id>, Range<'id> 具有发送 + 同步特性
- 0.1.0-alpha1
- 第一个版本
许可证
双许可,以与 Rust 项目兼容。
根据您的选择,许可协议为 Apache License,版本 2.0 https://apache.ac.cn/licenses/LICENSE-2.0 或 MIT 许可证 http://opensource.org/licenses/MIT。此文件不得复制、修改或分发,除非根据这些条款。
依赖项
~0–9MB
~62K SLoC