File tree 3 files changed +5
-4
lines changed
compiler/rustc_trait_selection/src/solve
3 files changed +5
-4
lines changed Original file line number Diff line number Diff line change 1
- //! Implements the `AliasRelate` goal, which is used to unify two aliases in the
2
- //! new solver, which uses "lazy normalization".
1
+ //! Implements the `AliasRelate` goal, which is used when unifying aliases.
2
+ //! Doing this via a separate goal is called "deferred alias relation" and part
3
+ //! of our more general approach to "lazy normalization".
3
4
//!
4
5
//! This goal, e.g. `A alias-relate B`, may be satisfied by one of three branches:
5
6
//! * normalizes-to: If `A` is a projection, we can prove the equivalent
Original file line number Diff line number Diff line change 3
3
//! As a user of rust, you can use `-Ztrait-solver=next` or `next-coherence`
4
4
//! to enable the new trait solver always, or just within coherence, respectively.
5
5
//!
6
- //! As a developer of rustc, you probably shouldn't be using the new trait
6
+ //! As a developer of rustc, you shouldn't be using the new trait
7
7
//! solver without asking the trait-system-refactor-initiative, but it can
8
8
//! be enabled with `InferCtxtBuilder::with_next_trait_solver`. This will
9
9
//! ensure that trait solving using that inference context will be routed
Original file line number Diff line number Diff line change 2
2
//! `#![feature(lazy_type_alias)]` and `#![feature(type_alias_impl_trait)]`.
3
3
//!
4
4
//! Since a weak alias is not ambiguous, this just computes the `type_of` of
5
- //! the alias and registers any where-clause predicates on the type alias.
5
+ //! the alias and registers the where-clauses of the type alias.
6
6
use rustc_middle:: traits:: solve:: { Certainty , Goal , QueryResult } ;
7
7
use rustc_middle:: ty;
8
8
You can’t perform that action at this time.
0 commit comments