diff --git a/src/libcore/hint.rs b/src/libcore/hint.rs index 75d64bbe0fb..abaf0b31b46 100644 --- a/src/libcore/hint.rs +++ b/src/libcore/hint.rs @@ -106,7 +106,10 @@ pub fn black_box(dummy: T) -> T { dummy } #[cfg(any(target_arch = "asmjs", target_arch = "wasm32"))] { - #[inline(never)] fn black_box_(x: T) -> T { x } - black_box_(dummy) - } + unsafe { + let ret = crate::ptr::read_volatile(&dummy); + crate::mem::forget(dummy); + ret + } + } }