// // revisions: verbose normal // //[verbose] compile-flags: -Z verbose trait Foo<'b, 'c, S=u32> { fn bar<'a, T>() where T: 'a {} fn baz() {} } impl<'a,'b,T,S> Foo<'a, 'b, S> for T {} fn main() {} fn foo<'z>() where &'z (): Sized { let x: () = >::bar::<'static, char>; //[verbose]~^ ERROR mismatched types //[verbose]~| expected type `()` //[verbose]~| found type `fn() {>::bar::}` //[normal]~^^^^ ERROR mismatched types //[normal]~| expected type `()` //[normal]~| found type `fn() {>::bar::<'static, char>}` let x: () = >::bar::<'static, char>; //[verbose]~^ ERROR mismatched types //[verbose]~| expected type `()` //[verbose]~| found type `fn() {>::bar::}` //[normal]~^^^^ ERROR mismatched types //[normal]~| expected type `()` //[normal]~| found type `fn() {>::bar::<'static, char>}` let x: () = >::baz; //[verbose]~^ ERROR mismatched types //[verbose]~| expected type `()` //[verbose]~| found type `fn() {>::baz}` //[normal]~^^^^ ERROR mismatched types //[normal]~| expected type `()` //[normal]~| found type `fn() {>::baz}` let x: () = foo::<'static>; //[verbose]~^ ERROR mismatched types //[verbose]~| expected type `()` //[verbose]~| found type `fn() {foo::}` //[normal]~^^^^ ERROR mismatched types //[normal]~| expected type `()` //[normal]~| found type `fn() {foo::<'static>}` >::bar; //[verbose]~^ ERROR the size for values of type //[normal]~^^ ERROR the size for values of type }