1
Fork 0

Rollup merge of #66880 - aDotInTheVoid:add-E0203-long, r=GuillaumeGomez

Add long error code explanation message for E0203

Addressed some of #61137

r? @GuillaumeGomez
This commit is contained in:
Mazdak Farrokhzad 2019-12-01 04:49:29 +01:00 committed by GitHub
commit d4f59564e7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 2 deletions

View file

@ -107,6 +107,7 @@ E0199: include_str!("./error_codes/E0199.md"),
E0200: include_str!("./error_codes/E0200.md"), E0200: include_str!("./error_codes/E0200.md"),
E0201: include_str!("./error_codes/E0201.md"), E0201: include_str!("./error_codes/E0201.md"),
E0202: include_str!("./error_codes/E0202.md"), E0202: include_str!("./error_codes/E0202.md"),
E0203: include_str!("./error_codes/E0203.md"),
E0204: include_str!("./error_codes/E0204.md"), E0204: include_str!("./error_codes/E0204.md"),
E0205: include_str!("./error_codes/E0205.md"), E0205: include_str!("./error_codes/E0205.md"),
E0206: include_str!("./error_codes/E0206.md"), E0206: include_str!("./error_codes/E0206.md"),
@ -446,8 +447,6 @@ E0745: include_str!("./error_codes/E0745.md"),
// E0190, // deprecated: can only cast a &-pointer to an &-object // E0190, // deprecated: can only cast a &-pointer to an &-object
// E0194, // merged into E0403 // E0194, // merged into E0403
// E0196, // cannot determine a type for this closure // E0196, // cannot determine a type for this closure
E0203, // type parameter has more than one relaxed default bound,
// and only one is supported
E0208, E0208,
// E0209, // builtin traits can only be implemented on structs or enums // E0209, // builtin traits can only be implemented on structs or enums
E0212, // cannot extract an associated type from a higher-ranked trait bound E0212, // cannot extract an associated type from a higher-ranked trait bound

View file

@ -0,0 +1,18 @@
Having multiple relaxed default bounds is unsupported.
Erroneous code example:
```compile_fail,E0203
struct Bad<T: ?Sized + ?Send>{
inner: T
}
```
Here the type `T` cannot have a relaxed bound for multiple default traits
(`Sized` and `Send`). This can be fixed by only using one relaxed bound.
```
struct Good<T: ?Sized>{
inner: T
}
```

View file

@ -42,3 +42,4 @@ LL | struct S5<T>(*const T) where T: ?Trait<'static> + ?Sized;
error: aborting due to 6 previous errors error: aborting due to 6 previous errors
For more information about this error, try `rustc --explain E0203`.