|  | 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 type parameter `F` with trait `Send` | 
|  | | | 
|  | LL | fn foo<F>(blk: F) -> X<F> where F: FnOnce() + 'static + std::marker::Send { | 
|  | |                                                       +++++++++++++++++++ | 
|  |  | 
|  | error[E0277]: `F` cannot be sent between threads safely | 
|  | --> $DIR/closure-bounds-cant-promote-superkind-in-struct.rs:7:23 | 
|  | | | 
|  | LL |     return X { field: blk }; | 
|  | |                       ^^^ `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 type parameter `F` with trait `Send` | 
|  | | | 
|  | LL | fn foo<F>(blk: F) -> X<F> where F: FnOnce() + 'static + std::marker::Send { | 
|  | |                                                       +++++++++++++++++++ | 
|  |  | 
|  | error: aborting due to 2 previous errors | 
|  |  | 
|  | For more information about this error, try `rustc --explain E0277`. |