]>
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/")] |
9ffffee4 | 16 | #![feature(associated_type_bounds)] |
74b04a01 | 17 | #![feature(box_patterns)] |
5e7ed085 | 18 | #![feature(control_flow_enum)] |
f9f354fc | 19 | #![feature(extend_one)] |
5e7ed085 | 20 | #![feature(let_chains)] |
2b03887a | 21 | #![feature(if_let_guard)] |
17df50a5 | 22 | #![feature(min_specialization)] |
5e7ed085 | 23 | #![feature(never_type)] |
923072b8 | 24 | #![feature(try_blocks)] |
ba9703b0 | 25 | #![recursion_limit = "512"] // For rustdoc |
74b04a01 XL |
26 | |
27 | #[macro_use] | |
28 | extern crate rustc_macros; | |
6a06907d | 29 | #[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))] |
74b04a01 XL |
30 | #[macro_use] |
31 | extern crate rustc_data_structures; | |
32 | #[macro_use] | |
3dfed10e | 33 | extern crate tracing; |
74b04a01 | 34 | #[macro_use] |
ba9703b0 | 35 | extern crate rustc_middle; |
74b04a01 | 36 | |
9ffffee4 | 37 | use rustc_errors::{DiagnosticMessage, SubdiagnosticMessage}; |
49aad941 | 38 | use rustc_fluent_macro::fluent_messages; |
9ffffee4 | 39 | |
f2b60f7d | 40 | mod errors; |
74b04a01 XL |
41 | pub mod infer; |
42 | pub mod traits; | |
9ffffee4 | 43 | |
353b0b11 | 44 | fluent_messages! { "../messages.ftl" } |