1 #![feature(crate_visibility_modifier)]
2 #![feature(decl_macro)]
3 #![feature(proc_macro_diagnostic)]
4 #![feature(proc_macro_internals)]
5 #![feature(proc_macro_span)]
7 extern crate proc_macro as pm;
9 // A variant of 'try!' that panics on an Err. This is used as a crutch on the
10 // way towards a non-panic!-prone parser. It should be used for fatal parsing
11 // errors; eventually we plan to convert all code using panictry to just use
14 macro_rules! panictry {
16 use std::result::Result::{Ok, Err};
17 use errors::FatalError;
29 mod proc_macro_server;
31 crate use syntax_pos::hygiene;
32 pub use mbe::macro_rules::compile_declarative_macro;
36 #[macro_use] pub mod config;
41 // HACK(Centril, #64197): These shouldn't really be here.
42 // Rather, they should be with their respective modules which are defined in other crates.
43 // However, since for now constructing a `ParseSess` sorta requires `config` from this crate,
44 // these tests will need to live here in the iterim.