• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)43 pub 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