error[E0512]: cannot transmute between types of different sizes, or dependently-sized types --> $DIR/issue-21174.rs:7:30 | LL | let new: T::B = unsafe { std::mem::transmute(value) }; | ^^^^^^^^^^^^^^^^^^^ | = note: source type: `>::A` (size can vary because of ::A) = note: target type: `>::B` (size can vary because of ::B) error: aborting due to previous error For more information about this error, try `rustc --explain E0512`.