about summary refs log tree commit diff
path: root/tests/ui/kindck/kindck-send-object2.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/kindck/kindck-send-object2.rs')
-rw-r--r--tests/ui/kindck/kindck-send-object2.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/ui/kindck/kindck-send-object2.rs b/tests/ui/kindck/kindck-send-object2.rs
new file mode 100644
index 00000000000..b797588e446
--- /dev/null
+++ b/tests/ui/kindck/kindck-send-object2.rs
@@ -0,0 +1,24 @@
+// Continue kindck-send-object1.rs.
+
+fn assert_send<T:Send>() { }
+trait Dummy { }
+
+fn test50() {
+    assert_send::<&'static dyn Dummy>();
+    //~^ ERROR `(dyn Dummy + 'static)` cannot be shared between threads safely [E0277]
+}
+
+fn test53() {
+    assert_send::<Box<dyn Dummy>>();
+    //~^ ERROR `dyn Dummy` cannot be sent between threads safely
+}
+
+// ...unless they are properly bounded
+fn test60() {
+    assert_send::<&'static (dyn Dummy + Sync)>();
+}
+fn test61() {
+    assert_send::<Box<dyn Dummy + Send>>();
+}
+
+fn main() { }