error[E0512]: transmute called with types of different sizes --> $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`.