error[E0277]: `F` cannot be shared between threads safely --> $DIR/closure-bounds-subtype.rs:13:22 | LL | take_const_owned(f); | ---------------- ^ `F` cannot be shared between threads safely | | | required by a bound introduced by this call | note: required by a bound in `take_const_owned` --> $DIR/closure-bounds-subtype.rs:4:50 | LL | fn take_const_owned(_: F) where F: FnOnce() + Sync + Send { | ^^^^ required by this bound in `take_const_owned` help: use parentheses to call this type parameter | LL | take_const_owned(f()); | ++ help: consider further restricting this bound | LL | fn give_owned(f: F) where F: FnOnce() + Send + std::marker::Sync { | +++++++++++++++++++ error: aborting due to previous error For more information about this error, try `rustc --explain E0277`.