error[E0277]: `F` cannot be sent between threads safely
  --> $DIR/closure-bounds-cant-promote-superkind-in-struct.rs:5:22
   |
LL | fn foo<F>(blk: F) -> X<F> where F: FnOnce() + 'static {
   |                      ^^^^ `F` cannot be sent between threads safely
   |
note: required by a bound in `X`
  --> $DIR/closure-bounds-cant-promote-superkind-in-struct.rs:1:43
   |
LL | struct X<F> where F: FnOnce() + 'static + Send {
   |                                           ^^^^ required by this bound in `X`
help: consider further restricting this bound
   |
LL | fn foo<F>(blk: F) -> X<F> where F: FnOnce() + 'static + std::marker::Send {
   |                                                       +++++++++++++++++++

error: aborting due to previous error

For more information about this error, try `rustc --explain E0277`.
