diff --git a/Cargo.lock b/Cargo.lock index 5a92011d5703..fd4b8f3e16ca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3400,6 +3400,7 @@ dependencies = [ "rustc-hash", "rustc-rayon", "rustc-rayon-core", + "rustc_index", "serialize", "smallvec", "stable_deref_trait", @@ -3463,6 +3464,13 @@ dependencies = [ "syntax_pos", ] +[[package]] +name = "rustc_index" +version = "0.0.0" +dependencies = [ + "serialize", +] + [[package]] name = "rustc_interface" version = "0.0.0" diff --git a/src/librustc_data_structures/Cargo.toml b/src/librustc_data_structures/Cargo.toml index ae3403cf0ce9..e020f2f8da94 100644 --- a/src/librustc_data_structures/Cargo.toml +++ b/src/librustc_data_structures/Cargo.toml @@ -24,6 +24,7 @@ rayon = { version = "0.2.0", package = "rustc-rayon" } rayon-core = { version = "0.2.0", package = "rustc-rayon-core" } rustc-hash = "1.0.1" smallvec = { version = "0.6.7", features = ["union", "may_dangle"] } +rustc_index = { path = "../librustc_index", package = "rustc_index" } [dependencies.parking_lot] version = "0.9" diff --git a/src/librustc_data_structures/lib.rs b/src/librustc_data_structures/lib.rs index d6e9c479c9b8..a9ef297fa991 100644 --- a/src/librustc_data_structures/lib.rs +++ b/src/librustc_data_structures/lib.rs @@ -37,6 +37,7 @@ extern crate libc; extern crate cfg_if; pub use rustc_serialize::hex::ToHex; +pub use rustc_index::{indexed_vec, newtype_index}; #[inline(never)] #[cold] @@ -75,7 +76,6 @@ pub mod flock; pub mod fx; pub mod stable_map; pub mod graph; -pub mod indexed_vec; pub mod jobserver; pub mod obligation_forest; pub mod owning_ref; diff --git a/src/librustc_index/Cargo.toml b/src/librustc_index/Cargo.toml index f3d837c73b8f..10e66ffe5906 100644 --- a/src/librustc_index/Cargo.toml +++ b/src/librustc_index/Cargo.toml @@ -10,3 +10,4 @@ path = "lib.rs" doctest = false [dependencies] +rustc_serialize = { path = "../libserialize", package = "serialize" } diff --git a/src/librustc_data_structures/indexed_vec.rs b/src/librustc_index/indexed_vec.rs similarity index 100% rename from src/librustc_data_structures/indexed_vec.rs rename to src/librustc_index/indexed_vec.rs diff --git a/src/librustc_index/lib.rs b/src/librustc_index/lib.rs new file mode 100644 index 000000000000..c4c4948e7bf5 --- /dev/null +++ b/src/librustc_index/lib.rs @@ -0,0 +1,5 @@ +#![feature(allow_internal_unstable)] +#![feature(unboxed_closures)] +#![feature(fn_traits)] + +pub mod indexed_vec;