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