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(try_blocks)]
26#![feature(unwrap_infallible)]
27#![feature(yeet_expr)]
28#![recursion_limit = "512"] // For rustdoc
29// tidy-alphabetical-end
30
31pub mod error_reporting;
32pub mod errors;
33pub mod infer;
34pub mod opaque_types;
35pub mod regions;
36pub mod solve;
37pub mod traits;
38
39rustc_fluent_macro::fluent_messages! { "../messages.ftl" }