1#![allow(internal_features)]
29#![allow(rustc::direct_use_of_rustc_type_ir)]
30#![feature(allocator_api)]
31#![feature(assert_matches)]
32#![feature(associated_type_defaults)]
33#![feature(box_as_ptr)]
34#![feature(box_patterns)]
35#![feature(closure_track_caller)]
36#![feature(const_default)]
37#![feature(const_trait_impl)]
38#![feature(core_intrinsics)]
39#![feature(debug_closure_helpers)]
40#![feature(decl_macro)]
41#![feature(discriminant_kind)]
42#![feature(extern_types)]
43#![feature(file_buffered)]
44#![feature(gen_blocks)]
45#![feature(if_let_guard)]
46#![feature(intra_doc_pointers)]
47#![feature(min_specialization)]
48#![feature(negative_impls)]
49#![feature(never_type)]
50#![feature(ptr_alignment_type)]
51#![feature(range_bounds_is_empty)]
52#![feature(rustc_attrs)]
53#![feature(sized_hierarchy)]
54#![feature(try_blocks)]
55#![feature(try_trait_v2)]
56#![feature(try_trait_v2_residual)]
57#![feature(try_trait_v2_yeet)]
58#![feature(type_alias_impl_trait)]
59#![feature(unwrap_infallible)]
60#![feature(yeet_expr)]
61#![recursion_limit = "256"]
62#[cfg(test)]
65mod tests;
66
67#[macro_use]
68mod macros;
69
70#[macro_use]
71pub mod arena;
72pub mod error;
73pub mod hir;
74pub mod hooks;
75pub mod infer;
76pub mod lint;
77pub mod metadata;
78pub mod middle;
79pub mod mir;
80pub mod thir;
81pub mod traits;
82pub mod ty;
83pub mod util;
84
85#[macro_use]
86pub mod query;
87#[macro_use]
88pub mod queries;
89#[macro_use]
90pub mod dep_graph;
91
92extern crate self as rustc_middle;