#![allow(dead_code, deprecated, unused_variables, unused_mut)] type T = i32; fn foo() -> T { 42 } fn main() { let p = &mut foo() as *mut T; unsafe { p.write(T::default()) }; }