]> git.proxmox.com Git - rustc.git/blame - compiler/rustc_infer/src/lib.rs
New upstream version 1.71.1+dfsg1
[rustc.git] / compiler / rustc_infer / src / lib.rs
CommitLineData
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]
28extern crate rustc_macros;
6a06907d 29#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
74b04a01
XL
30#[macro_use]
31extern crate rustc_data_structures;
32#[macro_use]
3dfed10e 33extern crate tracing;
74b04a01 34#[macro_use]
ba9703b0 35extern crate rustc_middle;
74b04a01 36
9ffffee4 37use rustc_errors::{DiagnosticMessage, SubdiagnosticMessage};
49aad941 38use rustc_fluent_macro::fluent_messages;
9ffffee4 39
f2b60f7d 40mod errors;
74b04a01
XL
41pub mod infer;
42pub mod traits;
9ffffee4 43
353b0b11 44fluent_messages! { "../messages.ftl" }