]> git.proxmox.com Git - rustc.git/blame - compiler/rustc_trait_selection/src/lib.rs
New upstream version 1.71.1+dfsg1
[rustc.git] / compiler / rustc_trait_selection / src / lib.rs
CommitLineData
923072b8 1//! This crate defines the trait resolution method.
ba9703b0
XL
2//!
3//! - **Traits.** Trait resolution is implemented in the `traits` module.
4//!
5//! For more information about how rustc works, see the [rustc-dev-guide].
6//!
7//! [rustc-dev-guide]: https://rustc-dev-guide.rust-lang.org/
8//!
9//! # Note
10//!
11//! This API is completely unstable and subject to change.
12
1b1a35ee 13#![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")]
487cf647 14#![feature(associated_type_bounds)]
1b1a35ee 15#![feature(box_patterns)]
5e7ed085 16#![feature(control_flow_enum)]
5e7ed085 17#![feature(drain_filter)]
17df50a5 18#![feature(hash_drain_filter)]
5e7ed085 19#![feature(let_chains)]
923072b8 20#![feature(if_let_guard)]
1b1a35ee 21#![feature(never_type)]
9c376795 22#![feature(result_option_inspect)]
f2b60f7d 23#![feature(type_alias_impl_trait)]
9c376795 24#![feature(min_specialization)]
ba9703b0
XL
25#![recursion_limit = "512"] // For rustdoc
26
27#[macro_use]
28extern crate rustc_macros;
6a06907d 29#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
ba9703b0
XL
30#[macro_use]
31extern crate rustc_data_structures;
32#[macro_use]
3dfed10e 33extern crate tracing;
ba9703b0
XL
34#[macro_use]
35extern crate rustc_middle;
94222f64
XL
36#[macro_use]
37extern crate smallvec;
ba9703b0 38
9ffffee4 39use rustc_errors::{DiagnosticMessage, SubdiagnosticMessage};
49aad941 40use rustc_fluent_macro::fluent_messages;
9ffffee4 41
f2b60f7d 42pub mod errors;
ba9703b0 43pub mod infer;
9c376795 44pub mod solve;
ba9703b0 45pub mod traits;
9ffffee4 46
353b0b11 47fluent_messages! { "../messages.ftl" }