diff options
Diffstat (limited to 'src/test/ui/extern/extern-types-not-sync-send.rs')
-rw-r--r-- | src/test/ui/extern/extern-types-not-sync-send.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/ui/extern/extern-types-not-sync-send.rs b/src/test/ui/extern/extern-types-not-sync-send.rs new file mode 100644 index 000000000..ba82caced --- /dev/null +++ b/src/test/ui/extern/extern-types-not-sync-send.rs @@ -0,0 +1,18 @@ +// Make sure extern types are !Sync and !Send. + +#![feature(extern_types)] + +extern "C" { + type A; +} + +fn assert_sync<T: ?Sized + Sync>() {} +fn assert_send<T: ?Sized + Send>() {} + +fn main() { + assert_sync::<A>(); + //~^ ERROR `A` cannot be shared between threads safely [E0277] + + assert_send::<A>(); + //~^ ERROR `A` cannot be sent between threads safely [E0277] +} |