error[E0049]: method `foo` has 1 type parameter but its trait declaration has 0 type parameters --> $DIR/type-arg-mismatch-due-to-impl-trait.rs:10:22 | LL | fn foo(&self, t: Self::T); | - expected 0 type parameters ... LL | fn foo(&self, t: impl Clone) {} | ^^^^^^^^^^ | | | found 1 type parameter | `impl Trait` introduces an implicit type parameter error: aborting due to previous error For more information about this error, try `rustc --explain E0049`.