1 #![feature(if_let_guard)]
2 #![feature(let_chains)]
3 #![feature(min_specialization)]
4 #![feature(never_type)]
6 #![feature(option_get_or_insert_default)]
7 #![feature(rustc_attrs)]
8 #![feature(map_many_mut)]
9 #![feature(iter_intersperse)]
10 #![recursion_limit = "256"]
11 #![allow(rustc::potential_query_instability)]
12 #![deny(rustc::untranslatable_diagnostic)]
13 #![deny(rustc::diagnostic_outside_of_impl)]
14 #![allow(internal_features)]
17 extern crate rustc_macros
;
23 use rustc_errors
::{DiagnosticMessage, SubdiagnosticMessage}
;
24 use rustc_fluent_macro
::fluent_messages
;
27 pub use lint
::{declare_lint, declare_lint_pass, declare_tool_lint, impl_lint_pass}
;
28 pub use rustc_lint_defs
as lint
;
47 pub use version
::RustcVersion
;
49 fluent_messages
! { "../messages.ftl" }
51 /// Requirements for a `StableHashingContext` to be used in this crate.
52 /// This is a hack to allow using the `HashStable_Generic` derive macro
53 /// instead of implementing everything in `rustc_middle`.
54 pub trait HashStableContext
: rustc_ast
::HashStableContext
+ rustc_hir
::HashStableContext {}