//@ check-pass | |
union URes<R: Copy> { | |
uninit: (), | |
init: R, | |
} | |
struct Params<F, R: Copy> { | |
function: F, | |
result: URes<R>, | |
} | |
unsafe extern "C" fn do_call<F, R>(params: *mut Params<F, R>) | |
where | |
R: Copy, | |
F: Fn() -> R, | |
{ | |
(*params).result.init = ((*params).function)(); | |
} | |
fn main() {} |