//@ revisions: verbose normal //@[verbose] compile-flags: -Z verbose-internals //@ dont-require-annotations: NOTE 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]~| NOTE expected unit type `()` //[verbose]~| NOTE found fn item `fn() {>::bar::<'static, char>}` //[normal]~^^^^ ERROR mismatched types //[normal]~| NOTE expected unit type `()` //[normal]~| NOTE found fn item `fn() {>::bar::<'static, char>}` let x: () = >::bar::<'static, char>; //[verbose]~^ ERROR mismatched types //[verbose]~| NOTE expected unit type `()` //[verbose]~| NOTE found fn item `fn() {>::bar::<'static, char>}` //[normal]~^^^^ ERROR mismatched types //[normal]~| NOTE expected unit type `()` //[normal]~| NOTE found fn item `fn() {>::bar::<'static, char>}` let x: () = >::baz; //[verbose]~^ ERROR mismatched types //[verbose]~| NOTE expected unit type `()` //[verbose]~| NOTE found fn item `fn() {>::baz}` //[normal]~^^^^ ERROR mismatched types //[normal]~| NOTE expected unit type `()` //[normal]~| NOTE found fn item `fn() {>::baz}` let x: () = foo::<'static>; //[verbose]~^ ERROR mismatched types //[verbose]~| NOTE expected unit type `()` //[verbose]~| NOTE found fn item `fn() {foo::<'static>}` //[normal]~^^^^ ERROR mismatched types //[normal]~| NOTE expected unit type `()` //[normal]~| NOTE found fn item `fn() {foo::<'static>}` >::bar; //[verbose]~^ ERROR the trait bound `str: Foo<'?0, '?1, u8>` is not satisfied //[normal]~^^ ERROR the trait bound `str: Foo<'_, '_, u8>` is not satisfied }