rustc_ty_utils/lib.rs
1//! Various checks
2//!
3//! # Note
4//!
5//! This API is completely unstable and subject to change.
6
7// tidy-alphabetical-start
8#![allow(internal_features)]
9#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
10#![doc(rust_logo)]
11#![feature(assert_matches)]
12#![feature(associated_type_defaults)]
13#![feature(box_patterns)]
14#![feature(if_let_guard)]
15#![feature(iterator_try_collect)]
16#![feature(never_type)]
17#![feature(rustdoc_internals)]
18// tidy-alphabetical-end
19
20use rustc_middle::query::Providers;
21
22mod abi;
23mod assoc;
24mod common_traits;
25mod consts;
26mod errors;
27mod implied_bounds;
28mod instance;
29mod layout;
30mod needs_drop;
31mod nested_bodies;
32mod opaque_types;
33mod representability;
34pub mod sig_types;
35mod structural_match;
36mod ty;
37
38rustc_fluent_macro::fluent_messages! { "../messages.ftl" }
39
40pub fn provide(providers: &mut Providers) {
41 abi::provide(providers);
42 assoc::provide(providers);
43 common_traits::provide(providers);
44 consts::provide(providers);
45 implied_bounds::provide(providers);
46 layout::provide(providers);
47 needs_drop::provide(providers);
48 opaque_types::provide(providers);
49 representability::provide(providers);
50 ty::provide(providers);
51 instance::provide(providers);
52 structural_match::provide(providers);
53 nested_bodies::provide(providers);
54}