1 error[E0277]: the trait bound `T: Pointee` is not satisfied in `PtrComponents<T>`
2 --> $DIR/issue-81199.rs:5:17
4 LL | components: PtrComponents<T>,
5 | ^^^^^^^^^^^^^^^^ within `PtrComponents<T>`, the trait `Pointee` is not implemented for `T`
7 note: required because it appears within the type `PtrComponents<T>`
8 --> $DIR/issue-81199.rs:10:8
10 LL | struct PtrComponents<T: Pointee + ?Sized> {
12 = note: no field of a union may have a dynamically sized type
13 = help: change the field's type to have a statically known size
14 help: consider further restricting this bound
16 LL | union PtrRepr<T: ?Sized + Pointee> {
18 help: borrowed types always have a statically known size
20 LL | components: &PtrComponents<T>,
22 help: the `Box` type always has a statically known size and allocates its contents in the heap
24 LL | components: Box<PtrComponents<T>>,
27 error: aborting due to previous error
29 For more information about this error, try `rustc --explain E0277`.