@@ -24,38 +24,19 @@ LL | fn wrong_bound1<'b,'c,'d:'a+'c>(self, b: Inv<'b>, c: Inv<'c>, d: Inv<'d
24
24
|
25
25
= note: expected type `fn(&'a isize, Inv<'c>, Inv<'c>, Inv<'d>)`
26
26
found type `fn(&'a isize, Inv<'_>, Inv<'c>, Inv<'d>)`
27
- note: the lifetime 'c as defined on the method body at 37:5...
28
- --> $DIR/regions-bound-missing-bound-in-impl.rs:37:5
29
- |
30
- LL | fn wrong_bound1<'b,'c,'d:'a+'c>(self, b: Inv<'b>, c: Inv<'c>, d: Inv<'d>) {
31
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
32
- note: ...does not necessarily outlive the lifetime 'c as defined on the method body at 37:24
27
+ note: the lifetime 'c as defined on the method body at 37:24...
33
28
--> $DIR/regions-bound-missing-bound-in-impl.rs:37:24
34
29
|
35
30
LL | fn wrong_bound1<'b,'c,'d:'a+'c>(self, b: Inv<'b>, c: Inv<'c>, d: Inv<'d>) {
36
31
| ^^
37
-
38
- error[E0308]: method not compatible with trait
39
- --> $DIR/regions-bound-missing-bound-in-impl.rs:37:5
40
- |
41
- LL | fn wrong_bound1<'b,'c,'d:'a+'c>(self, b: Inv<'b>, c: Inv<'c>, d: Inv<'d>) {
42
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
43
- |
44
- = note: expected type `fn(&'a isize, Inv<'c>, Inv<'c>, Inv<'d>)`
45
- found type `fn(&'a isize, Inv<'_>, Inv<'c>, Inv<'d>)`
46
- note: the lifetime 'c as defined on the method body at 37:24...
32
+ note: ...does not necessarily outlive the lifetime 'c as defined on the method body at 37:24
47
33
--> $DIR/regions-bound-missing-bound-in-impl.rs:37:24
48
34
|
49
35
LL | fn wrong_bound1<'b,'c,'d:'a+'c>(self, b: Inv<'b>, c: Inv<'c>, d: Inv<'d>) {
50
36
| ^^
51
- note: ...does not necessarily outlive the lifetime 'c as defined on the method body at 37:5
52
- --> $DIR/regions-bound-missing-bound-in-impl.rs:37:5
53
- |
54
- LL | fn wrong_bound1<'b,'c,'d:'a+'c>(self, b: Inv<'b>, c: Inv<'c>, d: Inv<'d>) {
55
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
56
37
57
38
error[E0195]: lifetime parameters or bounds on method `wrong_bound2` do not match the trait declaration
58
- --> $DIR/regions-bound-missing-bound-in-impl.rs:52 :5
39
+ --> $DIR/regions-bound-missing-bound-in-impl.rs:51 :5
59
40
|
60
41
LL | fn wrong_bound2<'b,'c,'d:'a+'b>(self, b: Inv<'b>, c: Inv<'c>, d: Inv<'d>);
61
42
| ---------------- lifetimes in impl do not match this method in trait
@@ -64,15 +45,15 @@ LL | fn wrong_bound2(self, b: Inv, c: Inv, d: Inv) {
64
45
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetimes do not match method in trait
65
46
66
47
error[E0276]: impl has stricter requirements than trait
67
- --> $DIR/regions-bound-missing-bound-in-impl.rs:59 :5
48
+ --> $DIR/regions-bound-missing-bound-in-impl.rs:58 :5
68
49
|
69
50
LL | fn another_bound<'x: 'a>(self, x: Inv<'x>, y: Inv<'t>);
70
51
| ------------------------------------------------------- definition of `another_bound` from trait
71
52
...
72
53
LL | fn another_bound<'x: 't>(self, x: Inv<'x>, y: Inv<'t>) {
73
54
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl has extra requirement `'x: 't`
74
55
75
- error: aborting due to 6 previous errors
56
+ error: aborting due to 5 previous errors
76
57
77
58
Some errors occurred: E0195, E0276, E0308.
78
59
For more information about an error, try `rustc --explain E0195`.
0 commit comments