error[E0050]: method `foo` has 1 parameter but the declaration in trait `Foo::foo` has 2
  --> $DIR/E0050.rs:10:12
   |
LL |     fn foo(&self, x: u8) -> bool;
   |            ------------ trait requires 2 parameters
...
LL |     fn foo(&self) -> bool { true }
   |            ^^^^^ expected 2 parameters, found 1

error[E0050]: method `bar` has 1 parameter but the declaration in trait `Foo::bar` has 4
  --> $DIR/E0050.rs:11:12
   |
LL |     fn bar(&self, x: u8, y: u8, z: u8);
   |            -------------------------- trait requires 4 parameters
...
LL |     fn bar(&self) { }
   |            ^^^^^ expected 4 parameters, found 1

error[E0050]: method `less` has 4 parameters but the declaration in trait `Foo::less` has 1
  --> $DIR/E0050.rs:12:13
   |
LL |     fn less(&self);
   |             ----- trait requires 1 parameter
...
LL |     fn less(&self, x: u8, y: u8, z: u8) { }
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 1 parameter, found 4

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0050`.