rustc_trait_selection/
lib.rs

1//! This crate defines the trait resolution method.
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
13// tidy-alphabetical-start
14#![allow(rustc::diagnostic_outside_of_impl)]
15#![allow(rustc::untranslatable_diagnostic)]
16#![feature(assert_matches)]
17#![feature(associated_type_defaults)]
18#![feature(box_patterns)]
19#![feature(default_field_values)]
20#![feature(hash_set_entry)]
21#![feature(if_let_guard)]
22#![feature(iter_intersperse)]
23#![feature(iterator_try_reduce)]
24#![feature(never_type)]
25#![feature(strip_circumfix)]
26#![feature(try_blocks)]
27#![feature(unwrap_infallible)]
28#![feature(yeet_expr)]
29#![recursion_limit = "512"] // For rustdoc
30// tidy-alphabetical-end
31
32pub mod error_reporting;
33pub mod errors;
34pub mod infer;
35pub mod opaque_types;
36pub mod regions;
37pub mod solve;
38pub mod traits;
39
40rustc_fluent_macro::fluent_messages! { "../messages.ftl" }