// run-pass // Test that we are able to successfully compile a setup where a trait // (`Trait1`) references a struct (`SomeType`) which in turn // carries a predicate that references the trait (`u32 : Trait1`, // substituted). // pretty-expanded FIXME #23616 #![allow(dead_code)] trait Trait1 : Trait2> { fn dumb(&self) { } } trait Trait2 { fn dumber(&self, _: A) { } } struct SomeType where A : Trait1 { a: A } impl Trait1 for u32 { } impl Trait2> for u32 { } fn main() { }