error[E0782]: expected a type, found a trait
  --> $DIR/missing-for-type-in-impl.rs:9:6
   |
LL | impl Foo<i64> {
   |      ^^^^^^^^
   |
help: you can add the `dyn` keyword if you want a trait object
   |
LL | impl dyn Foo<i64> {
   |      +++
help: you might have intended to implement this trait for a given type
   |
LL | impl Foo<i64> for /* Type */ {
   |               ++++++++++++++

error[E0277]: the trait bound `i64: Foo<i64>` is not satisfied
  --> $DIR/missing-for-type-in-impl.rs:20:19
   |
LL |     let x: i64 = <i64 as Foo<i64>>::id(10);
   |                   ^^^ the trait `Foo<i64>` is not implemented for `i64`
   |
help: this trait has no implementations, consider adding one
  --> $DIR/missing-for-type-in-impl.rs:4:1
   |
LL | trait Foo<T> {
   | ^^^^^^^^^^^^

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0277, E0782.
For more information about an error, try `rustc --explain E0277`.
