| error[E0107]: function takes 1 generic argument but 2 generic arguments were supplied | 
 |   --> $DIR/explicit-generic-args-for-impl.rs:4:5 | 
 |    | | 
 | LL |     foo::<str, String>("".to_string()); | 
 |    |     ^^^      -------- help: remove the unnecessary generic argument | 
 |    |     | | 
 |    |     expected 1 generic argument | 
 |    | | 
 | note: function defined here, with 1 generic parameter: `T` | 
 |   --> $DIR/explicit-generic-args-for-impl.rs:1:4 | 
 |    | | 
 | LL | fn foo<T: ?Sized>(_f: impl AsRef<T>) {} | 
 |    |    ^^^ - | 
 |    = note: `impl Trait` cannot be explicitly specified as a generic argument | 
 |  | 
 | error: aborting due to 1 previous error | 
 |  | 
 | For more information about this error, try `rustc --explain E0107`. |