]> git.proxmox.com Git - rustc.git/blame - compiler/rustc_expand/src/lib.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / compiler / rustc_expand / src / lib.rs
CommitLineData
923072b8 1#![feature(array_windows)]
5099ac24
FG
2#![feature(associated_type_bounds)]
3#![feature(associated_type_defaults)]
94222f64 4#![feature(if_let_guard)]
5e7ed085 5#![feature(let_chains)]
04454e1e 6#![feature(macro_metavar_expr)]
e74abb32
XL
7#![feature(proc_macro_diagnostic)]
8#![feature(proc_macro_internals)]
9#![feature(proc_macro_span)]
064997fb 10#![feature(rustc_attrs)]
ba9703b0 11#![feature(try_blocks)]
94222f64 12#![recursion_limit = "256"]
9c376795 13#![deny(rustc::untranslatable_diagnostic)]
e74abb32 14
3dfed10e
XL
15#[macro_use]
16extern crate rustc_macros;
17
f2b60f7d
FG
18#[macro_use]
19extern crate tracing;
20
e74abb32
XL
21extern crate proc_macro as pm;
22
9ffffee4
FG
23use rustc_errors::{DiagnosticMessage, SubdiagnosticMessage};
24use rustc_macros::fluent_messages;
25
e74abb32
XL
26mod placeholders;
27mod proc_macro_server;
28
e74abb32 29pub use mbe::macro_rules::compile_declarative_macro;
923072b8 30pub(crate) use rustc_span::hygiene;
e74abb32
XL
31pub mod base;
32pub mod build;
ba9703b0
XL
33#[macro_use]
34pub mod config;
f2b60f7d 35pub mod errors;
e74abb32 36pub mod expand;
ba9703b0 37pub mod module;
9c376795
FG
38
39// FIXME(Nilstrieb) Translate proc_macro diagnostics
40#[allow(rustc::untranslatable_diagnostic)]
e74abb32
XL
41pub mod proc_macro;
42
9c376795
FG
43// FIXME(Nilstrieb) Translate macro_rules diagnostics
44#[allow(rustc::untranslatable_diagnostic)]
923072b8 45pub(crate) mod mbe;
60c5eb7d
XL
46
47// HACK(Centril, #64197): These shouldn't really be here.
48// Rather, they should be with their respective modules which are defined in other crates.
49// However, since for now constructing a `ParseSess` sorta requires `config` from this crate,
5e7ed085 50// these tests will need to live here in the interim.
60c5eb7d
XL
51
52#[cfg(test)]
53mod tests;
54#[cfg(test)]
55mod parse {
60c5eb7d 56 mod tests;
60c5eb7d
XL
57}
58#[cfg(test)]
59mod tokenstream {
60c5eb7d
XL
60 mod tests;
61}
62#[cfg(test)]
63mod mut_visit {
60c5eb7d
XL
64 mod tests;
65}
9ffffee4 66
353b0b11 67fluent_messages! { "../messages.ftl" }