| //@ check-pass | |
| //@ compile-flags: -Znext-solver | |
| // Issue 96230 | |
| use std::fmt::Debug; | |
| trait Classic { | |
| type Assoc; | |
| } | |
| trait Gat { | |
| type Assoc<'a>; | |
| } | |
| struct Foo; | |
| impl Classic for Foo { | |
| type Assoc = (); | |
| } | |
| impl Gat for Foo { | |
| type Assoc<'i> = (); | |
| } | |
| fn classic_debug<T: Classic>(_: T) | |
| where | |
| T::Assoc: Debug, | |
| { | |
| } | |
| fn gat_debug<T: Gat>(_: T) | |
| where | |
| for<'a> T::Assoc<'a>: Debug, | |
| { | |
| } | |
| fn main() { | |
| classic_debug::<Foo>(Foo); // fine | |
| classic_debug(Foo); // fine | |
| gat_debug::<Foo>(Foo); // fine | |
| gat_debug(Foo); // boom | |
| } |