//! This crate defines the trait resolution method. //! //! - **Traits.** Trait resolution is implemented in the `traits` module. //! //! For more information about how rustc works, see the [rustc-dev-guide]. //! //! [rustc-dev-guide]: https://rustc-dev-guide.rust-lang.org/ //! //! # Note //! //! This API is completely unstable and subject to change. #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")] #![doc(rust_logo)] #![feature(rustdoc_internals)] #![allow(internal_features)] #![allow(rustc::diagnostic_outside_of_impl)] #![allow(rustc::untranslatable_diagnostic)] #![feature(assert_matches)] #![feature(associated_type_bounds)] #![feature(associated_type_defaults)] #![feature(box_patterns)] #![feature(control_flow_enum)] #![feature(extract_if)] #![feature(let_chains)] #![feature(option_take_if)] #![feature(never_type)] #![feature(type_alias_impl_trait)] #![cfg_attr(bootstrap, feature(min_specialization))] #![recursion_limit = "512"] // For rustdoc #[macro_use] extern crate rustc_macros; #[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))] #[macro_use] extern crate rustc_data_structures; #[macro_use] extern crate tracing; #[macro_use] extern crate rustc_middle; #[macro_use] extern crate smallvec; pub mod errors; pub mod infer; pub mod regions; pub mod solve; pub mod traits; rustc_fluent_macro::fluent_messages! { "../messages.ftl" }