summaryrefslogtreecommitdiffstats
path: root/tests/ui/closures/closure-bounds-subtype.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/closures/closure-bounds-subtype.rs')
-rw-r--r--tests/ui/closures/closure-bounds-subtype.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/ui/closures/closure-bounds-subtype.rs b/tests/ui/closures/closure-bounds-subtype.rs
new file mode 100644
index 000000000..4888cbfcc
--- /dev/null
+++ b/tests/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() {}