struct Foo { i: i32 } impl Foo { fn bar(&self) {} } fn foo() -> Foo { Foo { i: 1 } } fn main() { foo.bar(); //~^ ERROR no method named `bar` //~| HELP use parentheses to call this function foo.i; //~^ ERROR no field `i` //~| HELP use parentheses to call this function let callable = Box::new(|| Foo { i: 1 }) as Box Foo>; callable.bar(); //~^ ERROR no method named `bar` //~| HELP use parentheses to call this trait object callable.i; //~^ ERROR no field `i` //~| HELP use parentheses to call this trait object } fn type_param Foo>(t: T) { t.bar(); //~^ ERROR no method named `bar` //~| HELP use parentheses to call this type parameter t.i; //~^ ERROR no field `i` //~| HELP use parentheses to call this type parameter }