rust/tests/ui/associated-types/impl-wf-cycle-5.rs

35 lines
481 B
Rust

//@ run-rustfix
#[allow(dead_code)]
trait Baz {}
impl Baz for () {}
impl<T> Baz for (T,) {}
#[allow(dead_code)]
trait Fiz {}
impl Fiz for bool {}
trait Grault {
type A;
type B;
}
impl Grault for () {
type A = ();
type B = bool;
}
impl<T> Grault for (T,)
//~^ ERROR overflow evaluating the requirement `<(T,) as Grault>::A == _`
where
T: Grault,
Self::A: Baz,
{
type A = ();
type B = bool;
}
fn main() {
let _: <((),) as Grault>::A = ();
}