]>
Commit | Line | Data |
---|---|---|
ba9703b0 | 1 | //! This crates defines the type inference engine. |
74b04a01 | 2 | //! |
74b04a01 XL |
3 | //! - **Type inference.** The type inference code can be found in the `infer` module; |
4 | //! this code handles low-level equality and subtyping operations. The | |
2b03887a | 5 | //! type check pass in the compiler is found in the `rustc_hir_analysis` crate. |
74b04a01 | 6 | //! |
ba9703b0 | 7 | //! For more information about how rustc works, see the [rustc dev guide]. |
74b04a01 | 8 | //! |
ba9703b0 | 9 | //! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/ |
74b04a01 XL |
10 | //! |
11 | //! # Note | |
12 | //! | |
13 | //! This API is completely unstable and subject to change. | |
14 | ||
1b1a35ee | 15 | #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")] |
74b04a01 | 16 | #![feature(box_patterns)] |
5e7ed085 | 17 | #![feature(control_flow_enum)] |
f9f354fc | 18 | #![feature(extend_one)] |
5e7ed085 | 19 | #![feature(let_chains)] |
2b03887a | 20 | #![feature(if_let_guard)] |
17df50a5 | 21 | #![feature(min_specialization)] |
5e7ed085 | 22 | #![feature(never_type)] |
923072b8 | 23 | #![feature(try_blocks)] |
ba9703b0 | 24 | #![recursion_limit = "512"] // For rustdoc |
74b04a01 XL |
25 | |
26 | #[macro_use] | |
27 | extern crate rustc_macros; | |
6a06907d | 28 | #[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))] |
74b04a01 XL |
29 | #[macro_use] |
30 | extern crate rustc_data_structures; | |
31 | #[macro_use] | |
3dfed10e | 32 | extern crate tracing; |
74b04a01 | 33 | #[macro_use] |
ba9703b0 | 34 | extern crate rustc_middle; |
74b04a01 | 35 | |
f2b60f7d | 36 | mod errors; |
74b04a01 XL |
37 | pub mod infer; |
38 | pub mod traits; |