| error[E0425]: cannot find type `Missing` in this scope | |
| --> $DIR/ice-struct-tail-normalization-113272.rs:5:25 | |
| | | |
| LL | impl Trait for () where Missing: Trait {} | |
| | ^^^^^^^ not found in this scope | |
| error[E0046]: not all trait items implemented, missing: `RefTarget` | |
| --> $DIR/ice-struct-tail-normalization-113272.rs:5:1 | |
| | | |
| LL | type RefTarget; | |
| | -------------- `RefTarget` from trait | |
| ... | |
| LL | impl Trait for () where Missing: Trait {} | |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `RefTarget` in implementation | |
| error[E0512]: cannot transmute between types of different sizes, or dependently-sized types | |
| --> $DIR/ice-struct-tail-normalization-113272.rs:15:9 | |
| | | |
| LL | std::mem::transmute::<Option<()>, Option<&Other>>(None); | |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| | | |
| = note: source type: `Option<()>` (8 bits) | |
| = note: target type: `Option<&Other>` (unable to determine layout for `Other` because `<() as Trait>::RefTarget` cannot be normalized) | |
| error: aborting due to 3 previous errors | |
| Some errors have detailed explanations: E0046, E0425, E0512. | |
| For more information about an error, try `rustc --explain E0046`. |