Add long error code for error E0226

This commit is contained in:
Julien Philippon 2020-03-30 02:50:53 +02:00
parent 699f83f525
commit 8f7eb6229c
3 changed files with 23 additions and 3 deletions

View file

@ -119,6 +119,7 @@ E0222: include_str!("./error_codes/E0222.md"),
E0223: include_str!("./error_codes/E0223.md"),
E0224: include_str!("./error_codes/E0224.md"),
E0225: include_str!("./error_codes/E0225.md"),
E0226: include_str!("./error_codes/E0226.md"),
E0229: include_str!("./error_codes/E0229.md"),
E0230: include_str!("./error_codes/E0230.md"),
E0231: include_str!("./error_codes/E0231.md"),
@ -475,7 +476,6 @@ E0751: include_str!("./error_codes/E0751.md"),
// E0217, // ambiguous associated type, defined in multiple supertraits
// E0218, // no associated type defined
// E0219, // associated type defined in higher-ranked supertrait
E0226, // only a single explicit lifetime bound is permitted
E0227, // ambiguous lifetime bound, explicit lifetime bound required
E0228, // explicit lifetime bound required
// E0233,

View file

@ -0,0 +1,20 @@
Only a single explicit lifetime bound is permitted on trait objects.
Example of erroneous code:
```compile_fail
trait Foo {}
type T<'a, 'b> = dyn Foo + 'a + 'b; // error: Trait object `arg` has two
// lifetime bound, 'a and 'b.
```
Here `T` is a trait object with two explicit lifetime bounds, 'a and 'b.
To fix this error, consider removing one of the lifetime bounds:
```
trait Foo {}
type T<'a> = dyn Foo + 'a;
```

View file

@ -31,5 +31,5 @@ LL | struct Foo<'a,'b,'c> {
error: aborting due to 3 previous errors
Some errors have detailed explanations: E0392, E0478.
For more information about an error, try `rustc --explain E0392`.
Some errors have detailed explanations: E0226, E0392, E0478.
For more information about an error, try `rustc --explain E0226`.