//!
//! This API is completely unstable and subject to change.
-#![crate_name = "rustc"]
-#![unstable(feature = "rustc_private", issue = "27812")]
-#![crate_type = "dylib"]
-#![crate_type = "rlib"]
#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "https://doc.rust-lang.org/favicon.ico",
html_root_url = "https://doc.rust-lang.org/nightly/")]
-#![cfg_attr(not(stage0), deny(warnings))]
+#![deny(warnings)]
-#![feature(associated_consts)]
-#![feature(borrow_state)]
#![feature(box_patterns)]
#![feature(box_syntax)]
-#![feature(collections)]
#![feature(conservative_impl_trait)]
#![feature(const_fn)]
#![feature(core_intrinsics)]
-#![feature(dotdot_in_tuple_patterns)]
-#![feature(enumset)]
-#![feature(libc)]
+#![feature(i128_type)]
+#![cfg_attr(windows, feature(libc))]
+#![feature(never_type)]
#![feature(nonzero)]
#![feature(quote)]
#![feature(rustc_diagnostic_macros)]
-#![feature(rustc_private)]
#![feature(slice_patterns)]
-#![feature(staged_api)]
-#![cfg_attr(stage0, feature(question_mark))]
-#![cfg_attr(test, feature(test))]
+#![feature(specialization)]
+#![feature(unboxed_closures)]
+#![feature(trace_macros)]
+#![feature(test)]
+
+#![recursion_limit="256"]
extern crate arena;
extern crate core;
-extern crate flate;
extern crate fmt_macros;
extern crate getopts;
extern crate graphviz;
+#[cfg(windows)]
extern crate libc;
-extern crate rustc_llvm as llvm;
+extern crate owning_ref;
extern crate rustc_back;
extern crate rustc_data_structures;
extern crate serialize;
-extern crate collections;
extern crate rustc_const_math;
extern crate rustc_errors as errors;
#[macro_use] extern crate log;
#[macro_use] extern crate syntax;
-#[macro_use] extern crate syntax_pos;
+extern crate syntax_pos;
#[macro_use] #[no_link] extern crate rustc_bitflags;
+extern crate jobserver;
extern crate serialize as rustc_serialize; // used by deriving
-#[cfg(test)]
+// Note that librustc doesn't actually depend on these crates, see the note in
+// `Cargo.toml` for this crate about why these are here.
+#[allow(unused_extern_crates)]
+extern crate flate2;
+#[allow(unused_extern_crates)]
extern crate test;
#[macro_use]
pub mod cfg;
pub mod dep_graph;
pub mod hir;
+pub mod ich;
pub mod infer;
pub mod lint;
pub mod middle {
- pub mod astconv_util;
- pub mod expr_use_visitor; // STAGE0: increase glitch immunity
+ pub mod allocator;
+ pub mod expr_use_visitor;
pub mod const_val;
- pub mod const_qualif;
pub mod cstore;
pub mod dataflow;
pub mod dead;
pub mod weak_lang_items;
}
-pub mod mir {
- mod cache;
- pub mod repr;
- pub mod tcx;
- pub mod visit;
- pub mod transform;
- pub mod traversal;
- pub mod mir_map;
-}
-
+pub mod mir;
pub mod session;
pub mod traits;
pub mod ty;
pub mod util {
- pub use rustc_back::sha2;
-
pub mod common;
pub mod ppaux;
pub mod nodemap;
- pub mod num;
pub mod fs;
}