Source code

Revision control

Copy as Markdown

Other Tools

use bytemuck::TransparentWrapper;↩
#[repr(transparent)]↩
struct Wrap(Box<u32>);↩
// SAFETY: it's #[repr(transparent)]↩
unsafe impl TransparentWrapper<Box<u32>> for Wrap {}↩
fn main() {↩
let value = Box::new(5);↩
// This used to duplicate the wrapped value, creating a double free :(↩
Wrap::wrap(value);↩
}↩