blob: aa24df4984ae6fd52a060fe656b93d5155f5a817 [file] [edit]
//@ revisions: old next
//@[next] compile-flags: -Znext-solver
// Previously the fallback of param env normalization was elaborated param env
// when the normalization failed.
// The elaborated param env is entirely unnormalized which causes problems for
// places where we expect normalized param env, e.g. in lexical region solving.
//
// Now we map non-rigid aliases and unresolved infer vars to `Ty/Const/Region::Error`.
trait Trait1 {
type Assoc1;
}
struct Indir;
trait Trait2 {
type Assoc2;
}
impl<T> Trait2 for T
//~^ ERROR: the trait bound `Indir: Trait1` is not satisfied
where
T: Trait1,
T::Assoc1: 'static,
T: Trait1<Assoc1 = <Indir as Trait1>::Assoc1>,
{
type Assoc2 = ();
//~^ ERROR: the trait bound `Indir: Trait1` is not satisfied
}
fn main() {}