#![doc(html_root_url = "https://doc.rust-lang.org/nightly/",
test(attr(deny(warnings))))]
-#![deny(rust_2018_idioms)]
-#![deny(internal)]
-#![deny(unused_lifetimes)]
-
#![feature(bind_by_move_pattern_guards)]
+#![feature(box_syntax)]
#![feature(const_fn)]
#![feature(const_transmute)]
#![feature(crate_visibility_modifier)]
#![feature(label_break_value)]
+#![feature(mem_take)]
#![feature(nll)]
-#![feature(rustc_attrs)]
+#![feature(proc_macro_diagnostic)]
+#![feature(proc_macro_internals)]
+#![feature(proc_macro_span)]
#![feature(rustc_diagnostic_macros)]
-#![feature(step_trait)]
#![feature(try_trait)]
#![feature(unicode_internals)]
#![recursion_limit="256"]
-#[allow(unused_extern_crates)]
-extern crate serialize as rustc_serialize; // used by deriving
+extern crate proc_macro;
pub use errors;
use rustc_data_structures::sync::Lock;
use ast::AttrId;
use syntax_pos::edition::Edition;
+#[cfg(test)]
+mod tests;
+
const MACRO_ARGUMENTS: Option<&'static str> = Some("macro arguments");
// A variant of 'try!' that panics on an Err. This is used as a crutch on the
// way towards a non-panic!-prone parser. It should be used for fatal parsing
// errors; eventually we plan to convert all code using panictry to just use
// normal try.
+#[macro_export]
macro_rules! panictry {
($e:expr) => ({
use std::result::Result::{Ok, Err};
pub mod lev_distance;
pub mod node_count;
pub mod parser;
- #[cfg(test)]
- pub mod parser_testing;
pub mod map_in_place;
}
pub mod parse;
pub mod ptr;
pub mod show_span;
-pub mod std_inject;
pub use syntax_pos::edition;
pub use syntax_pos::symbol;
-pub mod test;
pub mod tokenstream;
pub mod visit;
pub mod print {
pub mod pp;
pub mod pprust;
+ mod helpers;
}
pub mod ext {
+ mod placeholders;
+ mod proc_macro_server;
+
pub use syntax_pos::hygiene;
+ pub mod allocator;
pub mod base;
pub mod build;
- pub mod derive;
pub mod expand;
- pub mod placeholders;
- pub mod source_util;
+ pub mod proc_macro;
pub mod tt {
pub mod transcribe;
+ pub mod macro_check;
pub mod macro_parser;
pub mod macro_rules;
pub mod quoted;
pub mod early_buffered_lints;
-#[cfg(test)]
-mod test_snippet;
-
__build_diagnostic_array! { libsyntax, DIAGNOSTICS }