mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
Add a test that used to take forever to compile
This commit is contained in:
parent
c32527fb92
commit
868aa42f4b
@ -0,0 +1,43 @@
|
||||
// check-pass
|
||||
// compile-flags: -Ztrait-solver=next
|
||||
// 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
|
||||
}
|
Loading…
Reference in New Issue
Block a user