error[E0308]: mismatched types --> $DIR/method-self-arg-1.rs:11:14 | LL | Foo::bar(x); | -------- ^ | | | | | expected `&Foo`, found struct `Foo` | | help: consider borrowing here: `&x` | arguments to this function are incorrect | note: associated function defined here --> $DIR/method-self-arg-1.rs:6:8 | LL | fn bar(&self) {} | ^^^ ----- error[E0308]: mismatched types --> $DIR/method-self-arg-1.rs:13:14 | LL | Foo::bar(&42); | -------- ^^^ expected struct `Foo`, found integer | | | arguments to this function are incorrect | = note: expected reference `&Foo` found reference `&{integer}` note: associated function defined here --> $DIR/method-self-arg-1.rs:6:8 | LL | fn bar(&self) {} | ^^^ ----- error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0308`.