error[E0404]: expected trait, found derive macro `Hash`
  --> $DIR/issue-37534.rs:1:16
   |
LL | struct Foo<T: ?Hash> { }
   |                ^^^^ not a trait
   |
help: consider importing this trait instead
   |
LL | use std::hash::Hash;
   |

warning: default bound relaxed for a type parameter, but this does nothing because the given bound is not a default; only `?Sized` is supported
  --> $DIR/issue-37534.rs:1:12
   |
LL | struct Foo<T: ?Hash> { }
   |            ^

error[E0392]: parameter `T` is never used
  --> $DIR/issue-37534.rs:1:12
   |
LL | struct Foo<T: ?Hash> { }
   |            ^ unused parameter
   |
   = help: consider removing `T`, referring to it in a field, or using a marker such as `PhantomData`
   = help: if you intended `T` to be a const parameter, use `const T: usize` instead

error: aborting due to 2 previous errors; 1 warning emitted

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