Add test for bad suggestion

This commit is contained in:
Michael Goulet 2022-12-28 06:44:29 +00:00
parent 01d784131f
commit 992ba801c2
2 changed files with 29 additions and 0 deletions

View File

@ -0,0 +1,12 @@
trait Foo {
type T<'a1, 'b1>
where
'a1: 'b1;
}
impl Foo for () {
type T<'a2, 'b2> = () where 'b2: 'a2;
//~^ ERROR impl has stricter requirements than trait
}
fn main() {}

View File

@ -0,0 +1,17 @@
error[E0276]: impl has stricter requirements than trait
--> $DIR/mismatched-where-clause-regions.rs:8:38
|
LL | type T<'a1, 'b1>
| ---------------- definition of `T` from trait
...
LL | type T<'a2, 'b2> = () where 'b2: 'a2;
| ^^^ impl has extra requirement `'b2: 'a2`
|
help: copy the `where` clause predicates from the trait
|
LL | type T<'a2, 'b2> = () where 'a2: 'b2;
| ~~~~~~~~~~~~~~
error: aborting due to previous error
For more information about this error, try `rustc --explain E0276`.