]> git.proxmox.com Git - rustc.git/blame - compiler/rustc_traits/src/lib.rs
New upstream version 1.66.0+dfsg1
[rustc.git] / compiler / rustc_traits / src / lib.rs
CommitLineData
0531ce1d
XL
1//! New recursive solver modeled on Chalk's recursive solver. Most of
2//! the guts are broken up into modules; see the comments in those modules.
3
f2b60f7d
FG
4#![deny(rustc::untranslatable_diagnostic)]
5#![deny(rustc::diagnostic_outside_of_impl)]
dfeec247 6#![recursion_limit = "256"]
94b46f34 7
0531ce1d 8#[macro_use]
3dfed10e 9extern crate tracing;
0531ce1d 10#[macro_use]
ba9703b0 11extern crate rustc_middle;
0531ce1d 12
f9f354fc 13mod chalk;
0531ce1d 14mod dropck_outlives;
83c7162d 15mod evaluate_obligation;
8faf50e0 16mod implied_outlives_bounds;
dfeec247
XL
17mod normalize_erasing_regions;
18mod normalize_projection_ty;
8faf50e0 19mod type_op;
0531ce1d 20
c295e0f8 21pub use type_op::{type_op_ascribe_user_type_with_span, type_op_prove_predicate_with_cause};
94222f64 22
ba9703b0 23use rustc_middle::ty::query::Providers;
0531ce1d 24
f035d41b 25pub fn provide(p: &mut Providers) {
8faf50e0
XL
26 dropck_outlives::provide(p);
27 evaluate_obligation::provide(p);
28 implied_outlives_bounds::provide(p);
f9f354fc 29 chalk::provide(p);
8faf50e0
XL
30 normalize_projection_ty::provide(p);
31 normalize_erasing_regions::provide(p);
32 type_op::provide(p);
0531ce1d 33}