error[E0401]: can't use generic parameters from outer function
  --> $DIR/issue-3214.rs:3:12
   |
LL | fn foo<T>() {
   |        - type parameter from outer function
LL |     struct Foo {
   |               - help: try using a local generic parameter instead: `<T>`
LL |         x: T,
   |            ^ use of generic parameter from outer function

error[E0107]: this struct takes 0 generic arguments but 1 generic argument was supplied
  --> $DIR/issue-3214.rs:6:22
   |
LL |     impl<T> Drop for Foo<T> {
   |                      ^^^--- help: remove these generics
   |                      |
   |                      expected 0 generic arguments
   |
note: struct defined here, with 0 generic parameters
  --> $DIR/issue-3214.rs:2:12
   |
LL |     struct Foo {
   |            ^^^

error: aborting due to 2 previous errors

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