about summary refs log tree commit diff
path: root/tests/ui/traits/next-solver/normalization-shadowing/alias-bound-shadowed-by-env.rs
blob: c0b169abcd576f0e5cde027c96ae5603a9ab149a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//@ compile-flags: -Znext-solver
//@ check-pass

trait Super {
    type Assoc;
}
trait Bound {
    type Assoc: Super<Assoc = u32>;
}
trait Trait: Super {}

// Elaborating the environment results in a `T::Assoc: Super` where-bound.
// This where-bound must not prevent normalization via the `Super<Assoc = u32>`
// item bound.
fn heck<T: Bound<Assoc: Trait>>(x: <T::Assoc as Super>::Assoc) -> u32 {
    x
}

fn main() {}