Improve parsing diagnostic for negative supertrait bounds
This commit is contained in:
parent
082c86175f
commit
7cfddfb4e4
4 changed files with 130 additions and 20 deletions
14
src/test/ui/parser/issue-33418.fixed
Normal file
14
src/test/ui/parser/issue-33418.fixed
Normal file
|
|
@ -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() {}
|
||||
16
src/test/ui/parser/issue-33418.rs
Normal file
16
src/test/ui/parser/issue-33418.rs
Normal file
|
|
@ -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() {}
|
||||
42
src/test/ui/parser/issue-33418.stderr
Normal file
42
src/test/ui/parser/issue-33418.stderr
Normal file
|
|
@ -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
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue