error[E0061]: this function takes 0 parameters but 1 parameter was supplied --> $DIR/method-call-err-msg.rs:12:7 | LL | fn zero(self) -> Foo { self } | -------------------- defined here ... LL | x.zero(0) | ^^^^ expected 0 parameters error[E0061]: this function takes 1 parameter but 0 parameters were supplied --> $DIR/method-call-err-msg.rs:13:7 | LL | fn one(self, _: isize) -> Foo { self } | ----------------------------- defined here ... LL | .one() | ^^^ expected 1 parameter error[E0061]: this function takes 2 parameters but 1 parameter was supplied --> $DIR/method-call-err-msg.rs:14:7 | LL | fn two(self, _: isize, _: isize) -> Foo { self } | --------------------------------------- defined here ... LL | .two(0); | ^^^ expected 2 parameters error[E0599]: no method named `take` found for struct `Foo` in the current scope --> $DIR/method-call-err-msg.rs:18:7 | LL | pub struct Foo; | --------------- method `take` not found for this ... LL | .take() | ^^^^ method not found in `Foo` | = note: the method `take` exists but the following trait bounds were not satisfied: `&mut Foo : std::iter::Iterator` = help: items from traits can only be used if the trait is implemented and in scope = note: the following traits define an item `take`, perhaps you need to implement one of them: candidate #1: `std::io::Read` candidate #2: `std::iter::Iterator` error: aborting due to 4 previous errors Some errors have detailed explanations: E0061, E0599. For more information about an error, try `rustc --explain E0061`.