1#[macro_export]
10macro_rules! var_stack_zeroed {
11 ($var_name: ident, $var_type: ty) => {
12 let mut $var_name: &mut $var_type;
13 unsafe {
14 $var_name = &mut *(((&mut ([ 0 as u8; std::mem::size_of::<$var_type>() ])) as *mut [u8; std::mem::size_of::<$var_type>()]) as *mut $var_type)
15 }
16 };
17}
18
19#[macro_export]
20macro_rules! var_heap_zeroed {
21 ($var_name: ident, $var_type: ty) => {
22 let mut $var_name: *mut $var_type;
23 unsafe {
24 let layout = std::alloc::Layout::new::<$var_type>();
25 $var_name = std::alloc::alloc_zeroed(layout) as *mut $var_type;
26 }
27 };
28}