Fluent, with all the icu4x it brings in, takes quite some time to compile. `fluent_messages!` is only needed in further downstream rustc crates, but is blocking more upstream crates like `rustc_index`. By splitting it out, we allow `rustc_macros` to be compiled earlier, which speeds up `x check compiler` by about 5 seconds (and even more after the needless dependency on `serde_json` is removed from `rustc_data_structures`).
24 lines
749 B
Rust
24 lines
749 B
Rust
//! The `rustc_ast_passes` crate contains passes which validate the AST in `syntax`
|
|
//! parsed by `rustc_parse` and then lowered, after the passes in this crate,
|
|
//! by `rustc_ast_lowering`.
|
|
//!
|
|
//! The crate also contains other misc AST visitors, e.g. `node_count` and `show_span`.
|
|
|
|
#![feature(box_patterns)]
|
|
#![feature(if_let_guard)]
|
|
#![feature(iter_is_partitioned)]
|
|
#![feature(let_chains)]
|
|
#![recursion_limit = "256"]
|
|
#![deny(rustc::untranslatable_diagnostic)]
|
|
#![deny(rustc::diagnostic_outside_of_impl)]
|
|
|
|
use rustc_errors::{DiagnosticMessage, SubdiagnosticMessage};
|
|
use rustc_fluent_macro::fluent_messages;
|
|
|
|
pub mod ast_validation;
|
|
mod errors;
|
|
pub mod feature_gate;
|
|
pub mod node_count;
|
|
pub mod show_span;
|
|
|
|
fluent_messages! { "../messages.ftl" }
|