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#![cfg_attr(bootstrap, feature(let_chains))]
10#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
11#![doc(rust_logo)]
12#![feature(assert_matches)]
13#![feature(associated_type_defaults)]
14#![feature(box_patterns)]
15#![feature(if_let_guard)]
16#![feature(iterator_try_collect)]
17#![feature(never_type)]
18#![feature(rustdoc_internals)]
19// tidy-alphabetical-end
20
21use rustc_middle::query::Providers;
22
23mod abi;
24mod assoc;
25mod common_traits;
26mod consts;
27mod errors;
28mod implied_bounds;
29mod instance;
30mod layout;
31mod needs_drop;
32mod nested_bodies;
33mod opaque_types;
34mod representability;
35pub mod sig_types;
36mod structural_match;
37mod ty;
38
39rustc_fluent_macro::fluent_messages! { "../messages.ftl" }
40
41pub fn provide(providers: &mut Providers) {
42 abi::provide(providers);
43 assoc::provide(providers);
44 common_traits::provide(providers);
45 consts::provide(providers);
46 implied_bounds::provide(providers);
47 layout::provide(providers);
48 needs_drop::provide(providers);
49 opaque_types::provide(providers);
50 representability::provide(providers);
51 ty::provide(providers);
52 instance::provide(providers);
53 structural_match::provide(providers);
54 nested_bodies::provide(providers);
55}