]> git.proxmox.com Git - rustc.git/blame - compiler/rustc_expand/src/lib.rs
Merge tag 'debian/1.52.1+dfsg1-1_exp2' into proxmox/buster
[rustc.git] / compiler / rustc_expand / src / lib.rs
CommitLineData
ba9703b0 1#![feature(bool_to_option)]
e74abb32
XL
2#![feature(crate_visibility_modifier)]
3#![feature(decl_macro)]
6a06907d 4#![feature(destructuring_assignment)]
ba9703b0 5#![feature(or_patterns)]
e74abb32
XL
6#![feature(proc_macro_diagnostic)]
7#![feature(proc_macro_internals)]
8#![feature(proc_macro_span)]
ba9703b0 9#![feature(try_blocks)]
e74abb32 10
3dfed10e
XL
11#[macro_use]
12extern crate rustc_macros;
13
e74abb32
XL
14extern crate proc_macro as pm;
15
e74abb32
XL
16mod placeholders;
17mod proc_macro_server;
18
e74abb32 19pub use mbe::macro_rules::compile_declarative_macro;
dfeec247 20crate use rustc_span::hygiene;
e74abb32
XL
21pub mod base;
22pub mod build;
ba9703b0
XL
23#[macro_use]
24pub mod config;
e74abb32 25pub mod expand;
ba9703b0 26pub mod module;
e74abb32
XL
27pub mod proc_macro;
28
29crate mod mbe;
60c5eb7d
XL
30
31// HACK(Centril, #64197): These shouldn't really be here.
32// Rather, they should be with their respective modules which are defined in other crates.
33// However, since for now constructing a `ParseSess` sorta requires `config` from this crate,
34// these tests will need to live here in the iterim.
35
36#[cfg(test)]
37mod tests;
38#[cfg(test)]
39mod parse {
60c5eb7d 40 mod tests;
60c5eb7d
XL
41}
42#[cfg(test)]
43mod tokenstream {
60c5eb7d
XL
44 mod tests;
45}
46#[cfg(test)]
47mod mut_visit {
60c5eb7d
XL
48 mod tests;
49}