mirror of https://github.com/rust-lang/rust.git
20 lines
420 B
Rust
20 lines
420 B
Rust
//@ 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() {}
|