Trait ZeroableOption

Source
pub unsafe trait ZeroableOption { }
Expand description

Marker trait for types that allow Option<Self> to be set to all zeroes in order to write None to that location.

§Safety

The implementer needs to ensure that unsafe impl Zeroable for Option<Self> {} is sound.

Implementations on Foreign Types§

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for fn(B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> A

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for extern "C" fn(B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> A

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe fn(B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> A

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> A

Source§

impl<B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for fn(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> B

Source§

impl<B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for extern "C" fn(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> B

Source§

impl<B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe fn(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> B

Source§

impl<B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> B

Source§

impl<C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for fn(D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> C

Source§

impl<C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for extern "C" fn(D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> C

Source§

impl<C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe fn(D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> C

Source§

impl<C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> C

Source§

impl<D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for fn(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> D

Source§

impl<D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for extern "C" fn(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> D

Source§

impl<D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe fn(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> D

Source§

impl<D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> D

Source§

impl<E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for fn(F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> E

Source§

impl<E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for extern "C" fn(F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> E

Source§

impl<E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe fn(F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> E

Source§

impl<E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> E

Source§

impl<F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for fn(G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> F

Source§

impl<F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for extern "C" fn(G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> F

Source§

impl<F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe fn(G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> F

Source§

impl<F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> F

Source§

impl<G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for fn(H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> G

Source§

impl<G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for extern "C" fn(H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> G

Source§

impl<G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe fn(H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> G

Source§

impl<G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> G

Source§

impl<H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for fn(I, J, K, L, M, N, O, P, Q, R, S, T, U) -> H

Source§

impl<H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for extern "C" fn(I, J, K, L, M, N, O, P, Q, R, S, T, U) -> H

Source§

impl<H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe fn(I, J, K, L, M, N, O, P, Q, R, S, T, U) -> H

Source§

impl<H, I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(I, J, K, L, M, N, O, P, Q, R, S, T, U) -> H

Source§

impl<I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for fn(J, K, L, M, N, O, P, Q, R, S, T, U) -> I

Source§

impl<I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for extern "C" fn(J, K, L, M, N, O, P, Q, R, S, T, U) -> I

Source§

impl<I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe fn(J, K, L, M, N, O, P, Q, R, S, T, U) -> I

Source§

impl<I, J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(J, K, L, M, N, O, P, Q, R, S, T, U) -> I

Source§

impl<J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for fn(K, L, M, N, O, P, Q, R, S, T, U) -> J

Source§

impl<J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for extern "C" fn(K, L, M, N, O, P, Q, R, S, T, U) -> J

Source§

impl<J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe fn(K, L, M, N, O, P, Q, R, S, T, U) -> J

Source§

impl<J, K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(K, L, M, N, O, P, Q, R, S, T, U) -> J

Source§

impl<K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for fn(L, M, N, O, P, Q, R, S, T, U) -> K

Source§

impl<K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for extern "C" fn(L, M, N, O, P, Q, R, S, T, U) -> K

Source§

impl<K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe fn(L, M, N, O, P, Q, R, S, T, U) -> K

Source§

impl<K, L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(L, M, N, O, P, Q, R, S, T, U) -> K

Source§

impl<L, M, N, O, P, Q, R, S, T, U> ZeroableOption for fn(M, N, O, P, Q, R, S, T, U) -> L

Source§

impl<L, M, N, O, P, Q, R, S, T, U> ZeroableOption for extern "C" fn(M, N, O, P, Q, R, S, T, U) -> L

Source§

impl<L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe fn(M, N, O, P, Q, R, S, T, U) -> L

Source§

impl<L, M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(M, N, O, P, Q, R, S, T, U) -> L

Source§

impl<M, N, O, P, Q, R, S, T, U> ZeroableOption for fn(N, O, P, Q, R, S, T, U) -> M

Source§

impl<M, N, O, P, Q, R, S, T, U> ZeroableOption for extern "C" fn(N, O, P, Q, R, S, T, U) -> M

Source§

impl<M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe fn(N, O, P, Q, R, S, T, U) -> M

Source§

impl<M, N, O, P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(N, O, P, Q, R, S, T, U) -> M

Source§

impl<N, O, P, Q, R, S, T, U> ZeroableOption for fn(O, P, Q, R, S, T, U) -> N

Source§

impl<N, O, P, Q, R, S, T, U> ZeroableOption for extern "C" fn(O, P, Q, R, S, T, U) -> N

Source§

impl<N, O, P, Q, R, S, T, U> ZeroableOption for unsafe fn(O, P, Q, R, S, T, U) -> N

Source§

impl<N, O, P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(O, P, Q, R, S, T, U) -> N

Source§

impl<O, P, Q, R, S, T, U> ZeroableOption for fn(P, Q, R, S, T, U) -> O

Source§

impl<O, P, Q, R, S, T, U> ZeroableOption for extern "C" fn(P, Q, R, S, T, U) -> O

Source§

impl<O, P, Q, R, S, T, U> ZeroableOption for unsafe fn(P, Q, R, S, T, U) -> O

Source§

impl<O, P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(P, Q, R, S, T, U) -> O

Source§

impl<P, Q, R, S, T, U> ZeroableOption for fn(Q, R, S, T, U) -> P

Source§

impl<P, Q, R, S, T, U> ZeroableOption for extern "C" fn(Q, R, S, T, U) -> P

Source§

impl<P, Q, R, S, T, U> ZeroableOption for unsafe fn(Q, R, S, T, U) -> P

Source§

impl<P, Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(Q, R, S, T, U) -> P

Source§

impl<Q, R, S, T, U> ZeroableOption for fn(R, S, T, U) -> Q

Source§

impl<Q, R, S, T, U> ZeroableOption for extern "C" fn(R, S, T, U) -> Q

Source§

impl<Q, R, S, T, U> ZeroableOption for unsafe fn(R, S, T, U) -> Q

Source§

impl<Q, R, S, T, U> ZeroableOption for unsafe extern "C" fn(R, S, T, U) -> Q

Source§

impl<R, S, T, U> ZeroableOption for fn(S, T, U) -> R

Source§

impl<R, S, T, U> ZeroableOption for extern "C" fn(S, T, U) -> R

Source§

impl<R, S, T, U> ZeroableOption for unsafe fn(S, T, U) -> R

Source§

impl<R, S, T, U> ZeroableOption for unsafe extern "C" fn(S, T, U) -> R

Source§

impl<S, T, U> ZeroableOption for fn(T, U) -> S

Source§

impl<S, T, U> ZeroableOption for extern "C" fn(T, U) -> S

Source§

impl<S, T, U> ZeroableOption for unsafe fn(T, U) -> S

Source§

impl<S, T, U> ZeroableOption for unsafe extern "C" fn(T, U) -> S

Source§

impl<T> ZeroableOption for &T

Source§

impl<T> ZeroableOption for &mut T

Source§

impl<T> ZeroableOption for Box<T>

Source§

impl<T> ZeroableOption for NonNull<T>

Source§

impl<T, U> ZeroableOption for fn(U) -> T

Source§

impl<T, U> ZeroableOption for extern "C" fn(U) -> T

Source§

impl<T, U> ZeroableOption for unsafe fn(U) -> T

Source§

impl<T, U> ZeroableOption for unsafe extern "C" fn(U) -> T

Source§

impl<U> ZeroableOption for fn() -> U

Source§

impl<U> ZeroableOption for extern "C" fn() -> U

Source§

impl<U> ZeroableOption for unsafe fn() -> U

Source§

impl<U> ZeroableOption for unsafe extern "C" fn() -> U

Implementors§