rustc_infer/lib.rs
1//! This crates defines the type inference engine.
2//!
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
5//! type check pass in the compiler is found in the `rustc_hir_analysis` crate.
6//!
7//! For more information about how rustc works, see the [rustc dev guide].
8//!
9//! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/
10//!
11//! # Note
12//!
13//! This API is completely unstable and subject to change.
14
15// tidy-alphabetical-start
16#![allow(internal_features)]
17#![allow(rustc::diagnostic_outside_of_impl)]
18#![allow(rustc::untranslatable_diagnostic)]
19#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
20#![doc(rust_logo)]
21#![feature(assert_matches)]
22#![feature(extend_one)]
23#![feature(iterator_try_collect)]
24#![feature(let_chains)]
25#![feature(rustdoc_internals)]
26#![recursion_limit = "512"] // For rustdoc
27#![warn(unreachable_pub)]
28// tidy-alphabetical-end
29
30mod errors;
31pub mod infer;
32pub mod traits;
33
34rustc_fluent_macro::fluent_messages! { "../messages.ftl" }