error[E0308]: mismatched types --> $DIR/method-self-arg-1.rs:11:14 | LL | Foo::bar(x); //~ ERROR mismatched types | ^ | | | expected &Foo, found struct `Foo` | help: consider borrowing here: `&x` | = note: expected type `&Foo` found type `Foo` error[E0308]: mismatched types --> $DIR/method-self-arg-1.rs:15:14 | LL | Foo::bar(&42); //~ ERROR mismatched types | ^^^ expected struct `Foo`, found integer | = note: expected type `&Foo` found type `&{integer}` error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0308`.