error[E0412]: 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<&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, E0412, E0512. For more information about an error, try `rustc --explain E0046`.