Auto merge of #58623 - Amanieu:hashbrown3, r=alexcrichton

Replace HashMap implementation with SwissTable (as an external crate)

This is the same as #56241 except that it imports `hashbrown` as an external crate instead of copying the implementation into libstd.

This includes a few API changes (all unstable):
- `try_reserve` is added to `HashSet`.
- Some trait bounds have been changed in the `raw_entry` API.
- `search_bucket` has been removed from the `raw_entry` API (doesn't work with SwissTable).
This commit is contained in:
bors 2019-04-24 00:20:56 +00:00
commit 0928511d3a
10 changed files with 522 additions and 2399 deletions

View file

@ -0,0 +1,14 @@
[package]
name = "rustc-std-workspace-alloc"
version = "1.0.0"
authors = ["Alex Crichton <alex@alexcrichton.com>"]
license = 'MIT/Apache-2.0'
description = """
Hack for the compiler's own build system
"""
[lib]
path = "lib.rs"
[dependencies]
alloc = { path = "../../liballoc" }

View file

@ -0,0 +1,9 @@
#![feature(no_core)]
#![no_core]
// See rustc-std-workspace-core for why this crate is needed.
// Rename the crate to avoid conflicting with the alloc module in liballoc.
extern crate alloc as foo;
pub use foo::*;