// Split out of impl_wf.rs to work around rust aborting compilation early // compile-flags: -Z chalk trait Foo: Sized { } trait Bar { type Item: Foo; } impl Foo for i32 { } // Implicit `T: Sized` bound. impl Foo for Option { } impl Bar for () { type Item = i32; } impl Bar for Option { type Item = Option; } impl Bar for f32 { type Item = f32; //~^ ERROR the trait bound `f32: Foo` is not satisfied } trait Baz where U: Foo { } impl Baz for i32 { } fn main() {}