diff options
Diffstat (limited to 'src/test/ui/closures/closure-bounds-subtype.rs')
-rw-r--r-- | src/test/ui/closures/closure-bounds-subtype.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/ui/closures/closure-bounds-subtype.rs b/src/test/ui/closures/closure-bounds-subtype.rs new file mode 100644 index 000000000..4888cbfcc --- /dev/null +++ b/src/test/ui/closures/closure-bounds-subtype.rs @@ -0,0 +1,16 @@ +fn take_any<F>(_: F) where F: FnOnce() { +} + +fn take_const_owned<F>(_: F) where F: FnOnce() + Sync + Send { +} + +fn give_any<F>(f: F) where F: FnOnce() { + take_any(f); +} + +fn give_owned<F>(f: F) where F: FnOnce() + Send { + take_any(f); + take_const_owned(f); //~ ERROR `F` cannot be shared between threads safely [E0277] +} + +fn main() {} |