diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2020-03-31 15:59:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-31 15:59:41 +0200 |
| commit | cbe3266c651a252bfb53156d4ac0df1f8fb0cf9a (patch) | |
| tree | 81225cdb5168c0be465714eda2b7f684f2374e3e | |
| parent | 9ee373fd945511669775b8fd2c00990373ded8c7 (diff) | |
| parent | 32103b127f088906ea6a99a12c565c4013762fa3 (diff) | |
| download | rust-cbe3266c651a252bfb53156d4ac0df1f8fb0cf9a.tar.gz rust-cbe3266c651a252bfb53156d4ac0df1f8fb0cf9a.zip | |
Rollup merge of #70548 - Ersikan:master, r=GuillaumeGomez
Add long error code for error E0226 Added a long description message for error E0226, which previously did not exist. As requested in issue #61137 r? @GuillaumeGomez
| -rw-r--r-- | src/librustc_error_codes/error_codes.rs | 2 | ||||
| -rw-r--r-- | src/librustc_error_codes/error_codes/E0226.md | 21 | ||||
| -rw-r--r-- | src/test/ui/regions/region-bounds-on-objects-and-type-parameters.stderr | 4 |
3 files changed, 24 insertions, 3 deletions
diff --git a/src/librustc_error_codes/error_codes.rs b/src/librustc_error_codes/error_codes.rs index 2f0a3fc1d1c..6e690655f60 100644 --- a/src/librustc_error_codes/error_codes.rs +++ b/src/librustc_error_codes/error_codes.rs @@ -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, diff --git a/src/librustc_error_codes/error_codes/E0226.md b/src/librustc_error_codes/error_codes/E0226.md new file mode 100644 index 00000000000..4e65132ff0d --- /dev/null +++ b/src/librustc_error_codes/error_codes/E0226.md @@ -0,0 +1,21 @@ +More than one explicit lifetime bound was used on a trait object. + +Example of erroneous code: + +```compile_fail,E0226 +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. + +Only a single explicit lifetime bound is permitted on trait objects. +To fix this error, consider removing one of the lifetime bounds: + +``` +trait Foo {} + +type T<'a> = dyn Foo + 'a; +``` diff --git a/src/test/ui/regions/region-bounds-on-objects-and-type-parameters.stderr b/src/test/ui/regions/region-bounds-on-objects-and-type-parameters.stderr index 184cead2123..ea9be77a3e8 100644 --- a/src/test/ui/regions/region-bounds-on-objects-and-type-parameters.stderr +++ b/src/test/ui/regions/region-bounds-on-objects-and-type-parameters.stderr @@ -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`. |
