1 //! Various checks 2 //! 3 //! # Note 4 //! 5 //! This API is completely unstable and subject to change. 6 7 #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")] 8 #![feature(assert_matches)] 9 #![feature(iterator_try_collect)] 10 #![feature(let_chains)] 11 #![feature(never_type)] 12 #![feature(box_patterns)] 13 #![recursion_limit = "256"] 14 #![deny(rustc::untranslatable_diagnostic)] 15 #![deny(rustc::diagnostic_outside_of_impl)] 16 17 #[macro_use] 18 extern crate rustc_middle; 19 #[macro_use] 20 extern crate tracing; 21 22 use rustc_errors::{DiagnosticMessage, SubdiagnosticMessage}; 23 use rustc_fluent_macro::fluent_messages; 24 use rustc_middle::query::Providers; 25 26 mod abi; 27 mod assoc; 28 mod common_traits; 29 mod consts; 30 mod errors; 31 mod implied_bounds; 32 pub mod instance; 33 mod layout; 34 mod layout_sanity_check; 35 mod needs_drop; 36 mod opaque_types; 37 pub mod representability; 38 mod structural_match; 39 mod ty; 40 41 fluent_messages! { "../messages.ftl" } 42 provide(providers: &mut Providers)43pub fn provide(providers: &mut Providers) { 44 abi::provide(providers); 45 assoc::provide(providers); 46 common_traits::provide(providers); 47 consts::provide(providers); 48 implied_bounds::provide(providers); 49 layout::provide(providers); 50 needs_drop::provide(providers); 51 opaque_types::provide(providers); 52 representability::provide(providers); 53 ty::provide(providers); 54 instance::provide(providers); 55 structural_match::provide(providers); 56 } 57