about summary refs log tree commit diff
path: root/src/test/ui/parser
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/parser')
-rw-r--r--src/test/ui/parser/issue-33418.fixed14
-rw-r--r--src/test/ui/parser/issue-33418.rs16
-rw-r--r--src/test/ui/parser/issue-33418.stderr42
3 files changed, 72 insertions, 0 deletions
diff --git a/src/test/ui/parser/issue-33418.fixed b/src/test/ui/parser/issue-33418.fixed
new file mode 100644
index 00000000000..df11f2d855c
--- /dev/null
+++ b/src/test/ui/parser/issue-33418.fixed
@@ -0,0 +1,14 @@
+// run-rustfix
+
+trait Tr {} //~ ERROR negative trait bounds are not supported
+trait Tr2: SuperA {} //~ ERROR negative trait bounds are not supported
+trait Tr3: SuperB {} //~ ERROR negative trait bounds are not supported
+trait Tr4: SuperB + SuperD {}
+trait Tr5 {}
+
+trait SuperA {}
+trait SuperB {}
+trait SuperC {}
+trait SuperD {}
+
+fn main() {}
diff --git a/src/test/ui/parser/issue-33418.rs b/src/test/ui/parser/issue-33418.rs
new file mode 100644
index 00000000000..5bb5f2afca3
--- /dev/null
+++ b/src/test/ui/parser/issue-33418.rs
@@ -0,0 +1,16 @@
+// run-rustfix
+
+trait Tr: !SuperA {} //~ ERROR negative trait bounds are not supported
+trait Tr2: SuperA + !SuperB {} //~ ERROR negative trait bounds are not supported
+trait Tr3: !SuperA + SuperB {} //~ ERROR negative trait bounds are not supported
+trait Tr4: !SuperA + SuperB //~ ERROR negative trait bounds are not supported
+    + !SuperC + SuperD {}
+trait Tr5: !SuperA //~ ERROR negative trait bounds are not supported
+    + !SuperB {}
+
+trait SuperA {}
+trait SuperB {}
+trait SuperC {}
+trait SuperD {}
+
+fn main() {}
diff --git a/src/test/ui/parser/issue-33418.stderr b/src/test/ui/parser/issue-33418.stderr
new file mode 100644
index 00000000000..bfe44588a5b
--- /dev/null
+++ b/src/test/ui/parser/issue-33418.stderr
@@ -0,0 +1,42 @@
+error: negative trait bounds are not supported
+  --> $DIR/issue-33418.rs:3:9
+   |
+LL | trait Tr: !SuperA {} //~ ERROR negative trait bounds are not supported
+   |         ^^^^^^^^^ help: remove the trait bound
+
+error: negative trait bounds are not supported
+  --> $DIR/issue-33418.rs:4:19
+   |
+LL | trait Tr2: SuperA + !SuperB {} //~ ERROR negative trait bounds are not supported
+   |          ---------^^^^^^^^^
+   |          |
+   |          help: remove the trait bound
+
+error: negative trait bounds are not supported
+  --> $DIR/issue-33418.rs:5:10
+   |
+LL | trait Tr3: !SuperA + SuperB {} //~ ERROR negative trait bounds are not supported
+   |          ^^^^^^^^^---------
+   |          |
+   |          help: remove the trait bound
+
+error: negative trait bounds are not supported
+  --> $DIR/issue-33418.rs:6:10
+   |
+LL |   trait Tr4: !SuperA + SuperB //~ ERROR negative trait bounds are not supported
+   |  __________-^^^^^^^^
+LL | |     + !SuperC + SuperD {}
+   | |_____^^^^^^^^^________- help: remove the trait bounds
+
+error: negative trait bounds are not supported
+  --> $DIR/issue-33418.rs:8:10
+   |
+LL |   trait Tr5: !SuperA //~ ERROR negative trait bounds are not supported
+   |  __________-^^^^^^^^
+LL | |     + !SuperB {}
+   | |     ^^^^^^^^-
+   | |_____________|
+   |               help: remove the trait bounds
+
+error: aborting due to 5 previous errors
+