about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2015-04-07 06:10:53 -0400
committerNiko Matsakis <niko@alum.mit.edu>2015-04-17 10:12:53 -0400
commit966e53d8b6272a324c6be3460ae6bf52e47202fe (patch)
treeba28bf5ae2f84b5e260a7cecc9a6bf316762b863
parentb7fb57529aded92c4f470568e6b5ea7a5a28f6a4 (diff)
downloadrust-966e53d8b6272a324c6be3460ae6bf52e47202fe.tar.gz
rust-966e53d8b6272a324c6be3460ae6bf52e47202fe.zip
Add librustc_data_structures crate
-rw-r--r--mk/crates.mk6
-rw-r--r--src/librustc/lib.rs1
-rw-r--r--src/librustc_data_structures/lib.rs33
3 files changed, 38 insertions, 2 deletions
diff --git a/mk/crates.mk b/mk/crates.mk
index 666d95b6d65..f7237c90efc 100644
--- a/mk/crates.mk
+++ b/mk/crates.mk
@@ -54,7 +54,8 @@ TARGET_CRATES := libc std flate arena term \
                  log graphviz core rbml alloc \
                  unicode rustc_bitflags
 RUSTC_CRATES := rustc rustc_typeck rustc_borrowck rustc_resolve rustc_driver \
-                rustc_trans rustc_back rustc_llvm rustc_privacy rustc_lint
+                rustc_trans rustc_back rustc_llvm rustc_privacy rustc_lint \
+                rustc_data_structures
 HOST_CRATES := syntax $(RUSTC_CRATES) rustdoc fmt_macros
 CRATES := $(TARGET_CRATES) $(HOST_CRATES)
 TOOLS := compiletest rustdoc rustc rustbook
@@ -80,9 +81,10 @@ DEPS_rustc_resolve := rustc log syntax
 DEPS_rustc_privacy := rustc log syntax
 DEPS_rustc_lint := rustc log syntax
 DEPS_rustc := syntax flate arena serialize getopts rbml \
-              log graphviz rustc_llvm rustc_back
+              log graphviz rustc_llvm rustc_back rustc_data_structures
 DEPS_rustc_llvm := native:rustllvm libc std
 DEPS_rustc_back := std syntax rustc_llvm flate log libc
+DEPS_rustc_data_structures := std log serialize
 DEPS_rustdoc := rustc rustc_driver native:hoedown serialize getopts \
                 test rustc_lint
 DEPS_rustc_bitflags := core
diff --git a/src/librustc/lib.rs b/src/librustc/lib.rs
index a4bb17bc354..4f7bb3d528a 100644
--- a/src/librustc/lib.rs
+++ b/src/librustc/lib.rs
@@ -54,6 +54,7 @@ extern crate graphviz;
 extern crate libc;
 extern crate rustc_llvm;
 extern crate rustc_back;
+extern crate rustc_data_structures;
 extern crate serialize;
 extern crate rbml;
 extern crate collections;
diff --git a/src/librustc_data_structures/lib.rs b/src/librustc_data_structures/lib.rs
new file mode 100644
index 00000000000..abac991e5ce
--- /dev/null
+++ b/src/librustc_data_structures/lib.rs
@@ -0,0 +1,33 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+//! Various data structures used by the Rust compiler. The intention
+//! is that code in here should be not be *specific* to rustc, so that
+//! it can be easily unit tested and so forth.
+//!
+//! # Note
+//!
+//! This API is completely unstable and subject to change.
+
+// Do not remove on snapshot creation. Needed for bootstrap. (Issue #22364)
+#![cfg_attr(stage0, feature(custom_attribute))]
+#![crate_name = "rustc_data_structures"]
+#![unstable(feature = "rustc_private")]
+#![crate_type = "dylib"]
+#![crate_type = "rlib"]
+#![doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
+      html_favicon_url = "http://www.rust-lang.org/favicon.ico",
+      html_root_url = "http://doc.rust-lang.org/nightly/")]
+
+#![feature(rustc_private)]
+#![feature(test)]
+
+#[macro_use] extern crate log;
+extern crate serialize as rustc_serialize; // used by deriving