error[E0053]: method `b` has an incompatible type for trait --> $DIR/reordered-type-param.rs:16:30 | LL | fn b(&self, x: C) -> C; | - type in trait ... LL | fn b(&self, _x: G) -> G { panic!() } | - - ^ expected type parameter `F`, found type parameter `G` | | | | | found type parameter | expected type parameter | = note: expected fn pointer `fn(&E, F) -> F` found fn pointer `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`.