diff options
Diffstat (limited to 'tests/ui/extern/extern-type-diag-not-similar.rs')
-rw-r--r-- | tests/ui/extern/extern-type-diag-not-similar.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/extern/extern-type-diag-not-similar.rs b/tests/ui/extern/extern-type-diag-not-similar.rs new file mode 100644 index 000000000..39d00a6c1 --- /dev/null +++ b/tests/ui/extern/extern-type-diag-not-similar.rs @@ -0,0 +1,22 @@ +// We previously mentioned other extern types in the error message here. +// +// Two extern types shouldn't really be considered similar just +// because they are both extern types. + +#![feature(extern_types)] +extern { + type ShouldNotBeMentioned; +} + +extern { + type Foo; +} + +unsafe impl Send for ShouldNotBeMentioned {} + +fn assert_send<T: Send + ?Sized>() {} + +fn main() { + assert_send::<Foo>() + //~^ ERROR `Foo` cannot be sent between threads safely +} |