pub unsafe fn atomic_store<T, L>(lock: &L, dst: *mut Option<T>, val: Option<T>)
where
    L: FallbackLock,
{
    atomic! {
        Option<T>, a,
        {
            a = &*(dst as *const _ as *const _);
            a.store(mem::transmute_copy(&val), Ordering::Release);
            mem::forget(val);
        },
        lock.write(|| ptr::write(dst, val))
    }
}
/// Atomically writes `val` to `dst`.
///
/// This operation uses the `Release` ordering. If possible, an atomic instructions is used, and a
/// global lock otherwise.
Atomically writes `val` to `dst`.
This operation uses the `Release` ordering. If possible, an atomic instructions is used, and a
global lock otherwise.
Atomically writes ` val ` to ` dst ` . This operation uses the ` Release ` ordering . If possible an atomic instructions is used and a global lock otherwise .
pub unsafe fn atomic_store<T, L>(lock: &L, dst: *mut Option<T>, val: Option<T>)
where
    L: FallbackLock,
{
    atomic! {
        Option<T>, a,
        {
            a = &*(dst as *const _ as *const _);
            a.store(mem::transmute_copy(&val), Ordering::Release);
            mem::forget(val);
        },
        lock.write(|| ptr::write(dst, val))
    }
}
pub unsafe fn atomic_store < T , L > ( lock : & L , dst : * mut Option < T > , val : Option < T > ) where L : FallbackLock , { atomic ! { Option T a { a ( dst as const as const ) a store ( mem transmute_copy ( val ) Ordering Release ) mem forget ( val ) } lock write ( ptr write ( dst val ) ) } }
Atomically writes `val` to `dst`.
Atomically writes ` val ` to ` dst ` .
lock
&L
dst
*mut Option<T>
val
Option<T>
lock
&L
dst
*mut Option<T>
val
Option<T>