error[E0053]: method `b` has an incompatible type for trait --> $DIR/reordered-type-param.rs:16:30 | LL | fn b(&self, _x: G) -> G { panic!() } | - - ^ | | | | | | | expected type parameter `F`, found type parameter `G` | | | help: change the parameter type to match the trait: `F` | | found type parameter | expected type parameter | note: type in trait --> $DIR/reordered-type-param.rs:7:29 | LL | fn b(&self, x: C) -> C; | ^ = note: expected signature `fn(&E, F) -> F` found signature `fn(&E, G) -> G` = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters error: aborting due to previous error For more information about this error, try `rustc --explain E0053`.