#hash-map #hash-set #collection

nightly no-std core_collections

这是 libstd::collections 的副本,其中移除了 core 中不工作的部分。最重要的是,它提供了 HashMap 和 HashSet。此 crate 主要由 rust git 源代码自动生成。构建脚本将自动选择与您的编译器版本相对应的源代码版本。这依赖于 rand crate,因此请确保包含它并在其上配置 no_std 功能。

7 个版本

使用旧的 Rust 2015

0.3.20170409 2017 年 4 月 9 日
0.3.20161028 2016 年 11 月 3 日
0.3.20160708 2016 年 7 月 11 日
0.2.20160708 2016 年 7 月 9 日
0.1.1 2016 年 2 月 13 日

#1948 in 算法


2 crate 中使用

MIT/Apache

11MB
190K SLoC

core_collections

std::collections,移除了 core 中不工作的所有部分。

添加新的 nightly 版本

首先,请确保您要添加的提交已获取到 /your/rust/dir/.git 中的 git 树中。然后,导入正确的源文件

$ echo FULL_COMMIT_ID ...|GIT_DIR=/your/rust/dir/.git ./build-src.sh

而不是回显提交 ID,您可能需要使用 rustc-commit-db list-valid

构建-src 脚本将提示您为新的提交创建补丁。您将进入一个临时新、干净的 git 仓库的 shell 提示符,该仓库仅用于此补丁。进行所有必要的更改以使其构建。不要提交任何更改!当退出 shell 时,脚本将使用工作树 diff 作为补丁。临时 git 仓库将被删除。在编辑更早的提交之前,工作树中已应用了之前的补丁更改(如果成功)。

编辑补丁

要编辑所有补丁,请再次对 rust 源进行检出。然后,运行

$ GIT_DIR=/your/rust/dir/.git ./edit-patches.sh

脚本将提示您进行更改。您将进入一个临时新、干净的 git 仓库的 shell 提示符,该仓库仅用于此补丁编辑。进行您想要的任何更改。不要提交任何更改!当退出 shell 时,脚本将使用工作树和根提交之间的 diff 作为补丁。临时 git 仓库将被删除。在编辑更早的提交时,工作树中已应用了之前的补丁更改(如果成功)。

依赖关系