Add long error explanation for E0634 #61137

This commit is contained in:
Ayush Kumar Mishra 2020-03-14 16:01:03 +05:30
parent 3dbade652e
commit 4bd6ebcc31
3 changed files with 22 additions and 2 deletions

View File

@ -351,6 +351,7 @@ E0626: include_str!("./error_codes/E0626.md"),
E0627: include_str!("./error_codes/E0627.md"),
E0631: include_str!("./error_codes/E0631.md"),
E0633: include_str!("./error_codes/E0633.md"),
E0634: include_str!("./error_codes/E0634.md"),
E0635: include_str!("./error_codes/E0635.md"),
E0636: include_str!("./error_codes/E0636.md"),
E0637: include_str!("./error_codes/E0637.md"),
@ -587,7 +588,6 @@ E0748: include_str!("./error_codes/E0748.md"),
E0630,
E0632, // cannot provide explicit generic arguments when `impl Trait` is
// used in argument position
E0634, // type has conflicting packed representaton hints
E0640, // infer outlives requirements
// E0645, // trait aliases not finished
E0657, // `impl Trait` can only capture lifetimes bound at the fn level

View File

@ -0,0 +1,20 @@
A type has conflicting `packed` representation hint.
Erroneous code examples:
```compile_fail,E0634
#[repr(packed, packed(2))] // error!
struct Company(i32);
#[repr(packed(2))] // error!
#[repr(packed)]
struct Company(i32);
```
You cannot use conflicting `packed` hint on a same type. If you want to pack a
type to a given size, you should provide a size to packed:
```
#[repr(packed)] // ok!
struct Company(i32);
```

View File

@ -76,5 +76,5 @@ LL | | }
error: aborting due to 10 previous errors
Some errors have detailed explanations: E0566, E0587.
Some errors have detailed explanations: E0566, E0587, E0634.
For more information about an error, try `rustc --explain E0566`.