summaryrefslogtreecommitdiffstats
path: root/src/test/ui/parser/foreign-ty-semantic-fail.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/parser/foreign-ty-semantic-fail.rs')
-rw-r--r--src/test/ui/parser/foreign-ty-semantic-fail.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/ui/parser/foreign-ty-semantic-fail.rs b/src/test/ui/parser/foreign-ty-semantic-fail.rs
new file mode 100644
index 000000000..96b15232b
--- /dev/null
+++ b/src/test/ui/parser/foreign-ty-semantic-fail.rs
@@ -0,0 +1,18 @@
+#![feature(extern_types)]
+
+fn main() {}
+
+extern "C" {
+ type A: Ord;
+ //~^ ERROR bounds on `type`s in `extern` blocks have no effect
+ type B<'a> where 'a: 'static;
+ //~^ ERROR `type`s inside `extern` blocks cannot have generic parameters
+ //~| ERROR `type`s inside `extern` blocks cannot have `where` clauses
+ type C<T: Ord> where T: 'static;
+ //~^ ERROR `type`s inside `extern` blocks cannot have generic parameters
+ //~| ERROR `type`s inside `extern` blocks cannot have `where` clauses
+ type D = u8;
+ //~^ ERROR incorrect `type` inside `extern` block
+
+ type E: where;
+}