diff --git a/src/stdlib/src/lib.rs b/src/stdlib/src/lib.rs index 91ddb0723d6b9dfff0a167ba4b202ba7362d5798..5beef27eea9262f84210d586249cfc9717d492dc 100644 --- a/src/stdlib/src/lib.rs +++ b/src/stdlib/src/lib.rs @@ -116,8 +116,7 @@ pub unsafe extern "C" fn exit(status: c_int) { use core::mem; for i in (0..ATEXIT_FUNCS.len()).rev() { - if ATEXIT_FUNCS[i] != None { - let func = mem::transmute::<usize, extern "C" fn()>(ATEXIT_FUNCS[i].unwrap()); + if let Some(func) = ATEXIT_FUNCS[i] { (func)(); } }