Rollup merge of #65205 - GuillaumeGomez:long-err-explanation-E0568, r=estebank
Add long error explanation for E0568 Part of #61137.
This commit is contained in:
commit
7a2bb04eb5
@ -359,6 +359,35 @@ fn main() {}
|
||||
```
|
||||
"##,
|
||||
|
||||
E0568: r##"
|
||||
A super trait has been added to an auto trait.
|
||||
|
||||
Erroneous code example:
|
||||
|
||||
```compile_fail,E0568
|
||||
#![feature(optin_builtin_traits)]
|
||||
|
||||
auto trait Bound : Copy {} // error!
|
||||
|
||||
fn main() {}
|
||||
```
|
||||
|
||||
Since an auto trait is implemented on all existing types, adding a super trait
|
||||
would filter out a lot of those types. In the current example, almost none of
|
||||
all the existing types could implement `Bound` because very few of them have the
|
||||
`Copy` trait.
|
||||
|
||||
To fix this issue, just remove the super trait:
|
||||
|
||||
```
|
||||
#![feature(optin_builtin_traits)]
|
||||
|
||||
auto trait Bound {} // ok!
|
||||
|
||||
fn main() {}
|
||||
```
|
||||
"##,
|
||||
|
||||
E0571: r##"
|
||||
A `break` statement with an argument appeared in a non-`loop` loop.
|
||||
|
||||
@ -576,7 +605,6 @@ Switch to the Rust 2018 edition to use `async fn`.
|
||||
;
|
||||
E0226, // only a single explicit lifetime bound is permitted
|
||||
E0472, // asm! is unsupported on this target
|
||||
E0568, // auto traits can not have super traits
|
||||
E0666, // nested `impl Trait` is illegal
|
||||
E0667, // `impl Trait` in projections
|
||||
E0696, // `continue` pointing to a labeled block
|
||||
|
@ -18,5 +18,5 @@ LL | auto trait MyTrait { fn foo() {} }
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
Some errors have detailed explanations: E0380, E0567.
|
||||
Some errors have detailed explanations: E0380, E0567, E0568.
|
||||
For more information about an error, try `rustc --explain E0380`.
|
||||
|
@ -17,4 +17,5 @@ LL | let (a, b) = copy(NoClone);
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0277`.
|
||||
Some errors have detailed explanations: E0277, E0568.
|
||||
For more information about an error, try `rustc --explain E0277`.
|
||||
|
@ -6,3 +6,4 @@ LL | auto trait Magic : Sized where Option<Self> : Magic {}
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0568`.
|
||||
|
@ -6,3 +6,4 @@ LL | auto trait Magic: Copy {}
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0568`.
|
||||
|
Loading…
x
Reference in New Issue
Block a user