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(doc, recursion_limit = "256")] // FIXME(nnethercote): will be removed by #124141
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(let_chains)]
18#![feature(never_type)]
19#![feature(rustdoc_internals)]
20// tidy-alphabetical-end
21
22use rustc_middle::query::Providers;
23
24mod abi;
25mod assoc;
26mod common_traits;
27mod consts;
28mod errors;
29mod implied_bounds;
30mod instance;
31mod layout;
32mod needs_drop;
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}