mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-17 06:26:55 +00:00
Adjust documentation
This commit is contained in:
parent
ea188e9d21
commit
4e755a96a7
@ -1,19 +1,19 @@
|
||||
A struct with the representation hint `repr(transparent)` had zero or more than
|
||||
one fields that were not guaranteed to be zero-sized.
|
||||
A struct with the representation hint `repr(transparent)` had two or more fields
|
||||
that were not guaranteed to be zero-sized.
|
||||
|
||||
Erroneous code example:
|
||||
|
||||
```compile_fail,E0690
|
||||
#[repr(transparent)]
|
||||
struct LengthWithUnit<U> { // error: transparent struct needs exactly one
|
||||
struct LengthWithUnit<U> { // error: transparent struct needs at most one
|
||||
value: f32, // non-zero-sized field, but has 2
|
||||
unit: U,
|
||||
}
|
||||
```
|
||||
|
||||
Because transparent structs are represented exactly like one of their fields at
|
||||
run time, said field must be uniquely determined. If there is no field, or if
|
||||
there are multiple fields, it is not clear how the struct should be represented.
|
||||
run time, said field must be uniquely determined. If there are multiple fields,
|
||||
it is not clear how the struct should be represented.
|
||||
Note that fields of zero-sized types (e.g., `PhantomData`) can also exist
|
||||
alongside the field that contains the actual data, they do not count for this
|
||||
error. When generic types are involved (as in the above example), an error is
|
||||
|
Loading…
Reference in New Issue
Block a user