Trait core::panic::RefUnwindSafe

1.9.0 · source · []
pub auto trait RefUnwindSafe { }
Expand description

A marker trait representing types where a shared reference is considered unwind safe.

This trait is namely not implemented by UnsafeCell, the root of all interior mutability.

This is a “helper marker trait” used to provide impl blocks for the UnwindSafe trait, for more information see that documentation.

Implementors

Auto implementors

impl<T: ?Sized> RefUnwindSafe for ThinBox<T>where
    T: RefUnwindSafe,

impl<T: ?Sized, A> RefUnwindSafe for Box<T, A>where
    A: RefUnwindSafe,
    T: RefUnwindSafe,

impl<'a, B: ?Sized> RefUnwindSafe for Cow<'a, B>where
    B: RefUnwindSafe,
    <B as ToOwned>::Owned: RefUnwindSafe,

impl<'a> RefUnwindSafe for Drain<'a>

impl<'a, T, F, A> RefUnwindSafe for DrainFilter<'a, T, F, A>where
    A: RefUnwindSafe,
    F: RefUnwindSafe,
    T: RefUnwindSafe,

impl<'a, T, A> RefUnwindSafe for Drain<'a, T, A>where
    A: RefUnwindSafe,
    T: RefUnwindSafe,

impl<T, A> RefUnwindSafe for IntoIter<T, A>where
    A: RefUnwindSafe,
    T: RefUnwindSafe,

impl<T, A> RefUnwindSafe for Vec<T, A>where
    A: RefUnwindSafe,
    T: RefUnwindSafe,

impl<T> !RefUnwindSafe for Arc<T>

impl<'a, T> !RefUnwindSafe for ArcBorrow<'a, T>

impl<T> !RefUnwindSafe for UniqueArc<T>

impl<T> !RefUnwindSafe for StaticArc<T>

impl<'a, L: ?Sized, I> RefUnwindSafe for Guard<'a, L, I>where
    L: RefUnwindSafe,
    <L as Lock<I>>::GuardContext: RefUnwindSafe,

impl<T, L> !RefUnwindSafe for LockedBy<T, L>

impl<T> !RefUnwindSafe for Mutex<T>

impl<T> !RefUnwindSafe for NoWaitLock<T>

impl<'a, T> !RefUnwindSafe for NoWaitLockGuard<'a, T>

impl<F, T> RefUnwindSafe for Revocable<F, T>where
    <F as LockFactory>::LockedType<Inner<T>>: RefUnwindSafe,

impl<'a, F, T, I> RefUnwindSafe for RevocableGuard<'a, F, T, I>where
    <<F as LockFactory>::LockedType<Inner<T>> as Lock<I>>::GuardContext: RefUnwindSafe,
    <F as LockFactory>::LockedType<Inner<T>>: RefUnwindSafe,

impl<T> !RefUnwindSafe for RwSemaphore<T>

impl<L> !RefUnwindSafe for SeqLock<L>

impl<'a, L> !RefUnwindSafe for SeqLockReadGuard<'a, L>

impl<T> !RefUnwindSafe for Mutex<T>

impl<T> !RefUnwindSafe for SpinLock<T>

impl<T> !RefUnwindSafe for RawSpinLock<T>

impl<T, F> RefUnwindSafe for ScopeGuard<T, F>where
    F: RefUnwindSafe,
    T: RefUnwindSafe,

impl<T> !RefUnwindSafe for Opaque<T>

impl<T> RefUnwindSafe for Bit<T>where
    T: RefUnwindSafe,

impl<T> RefUnwindSafe for ARef<T>where
    T: RefUnwindSafe,

impl<L, R> RefUnwindSafe for Either<L, R>where
    L: RefUnwindSafe,
    R: RefUnwindSafe,

impl<const N: usize> RefUnwindSafe for Registration<N>

impl<T, U, V> !RefUnwindSafe for Data<T, U, V>

impl<T> !RefUnwindSafe for Registration<T>

impl<T, U, const N: usize> RefUnwindSafe for IdArray<T, U, N>where
    U: RefUnwindSafe,
    <T as RawDeviceId>::RawType: RefUnwindSafe,

impl<'a, T, U> RefUnwindSafe for IdTable<'a, T, U>where
    U: RefUnwindSafe,
    <T as RawDeviceId>::RawType: RefUnwindSafe,

impl<T> !RefUnwindSafe for Module<T>

impl<'a> !RefUnwindSafe for Value<'a>

impl<const N: usize, S> !RefUnwindSafe for SpecArray<N, S>

impl<'a, S> !RefUnwindSafe for SpecTable<'a, S>

impl<const N: usize> RefUnwindSafe for ConstantArray<N>

impl<'a> RefUnwindSafe for ConstantTable<'a>

impl<'a, T: ?Sized, S> RefUnwindSafe for NewSuperBlock<'a, T, S>where
    S: RefUnwindSafe,
    T: RefUnwindSafe,

impl<T> !RefUnwindSafe for SuperBlock<T>

impl<T> !RefUnwindSafe for Module<T>

impl<T> !RefUnwindSafe for Registration<T>

impl<T> !RefUnwindSafe for Registration<T>

impl<H> RefUnwindSafe for Registration<H>where
    <H as Handler>::Data: RefUnwindSafe,

impl<'a> RefUnwindSafe for ChainedGuard<'a>

impl<'a> !RefUnwindSafe for Options<'a>

impl<T> RefUnwindSafe for Registration<T>where
    <T as Operations>::OpenData: RefUnwindSafe,

impl<T> RefUnwindSafe for Module<T>

impl<T> !RefUnwindSafe for Registration<T>

impl<const ORDER: u32> RefUnwindSafe for Pages<ORDER>

impl<T> RefUnwindSafe for NoOperations<T>where
    T: RefUnwindSafe,

impl<T> !RefUnwindSafe for Revocable<T>

impl<'a, T> RefUnwindSafe for RevocableGuard<'a, T>where
    T: RefUnwindSafe,

impl<'a, T> !RefUnwindSafe for AsyncRevocableGuard<'a, T>

impl<'a> !RefUnwindSafe for TaskRef<'a>

impl<'a, G> RefUnwindSafe for Cursor<'a, G>where
    <G as GetLinks>::EntryType: RefUnwindSafe,

impl<T> !RefUnwindSafe for Links<T>

impl<G> RefUnwindSafe for List<G>where
    <G as GetLinks>::EntryType: RefUnwindSafe,

impl<'a, G> RefUnwindSafe for CursorMut<'a, G>where
    <G as GetLinks>::EntryType: RefUnwindSafe,

impl<K, V> RefUnwindSafe for RBTree<K, V>where
    K: RefUnwindSafe,
    V: RefUnwindSafe,

impl<'a, K, V> RefUnwindSafe for RBTreeIterator<'a, K, V>where
    K: RefUnwindSafe,
    V: RefUnwindSafe,

impl<'a, K, V> RefUnwindSafe for RBTreeIteratorMut<'a, K, V>where
    K: RefUnwindSafe,
    V: RefUnwindSafe,

impl<K, V> RefUnwindSafe for RBTreeNodeReservation<K, V>where
    K: RefUnwindSafe,
    V: RefUnwindSafe,

impl<K, V> RefUnwindSafe for RBTreeNode<K, V>where
    K: RefUnwindSafe,
    V: RefUnwindSafe,

impl<A: ?Sized> RefUnwindSafe for List<A>where
    <A as Adapter>::EntryType: RefUnwindSafe,

impl<'a, A: ?Sized> RefUnwindSafe for Iterator<'a, A>where
    <A as Adapter>::EntryType: RefUnwindSafe,

impl<T> !RefUnwindSafe for Links<T>

impl<'a, A: ?Sized> RefUnwindSafe for Cursor<'a, A>where
    <A as Adapter>::EntryType: RefUnwindSafe,

impl<T> RefUnwindSafe for Sysctl<T>where
    T: RefUnwindSafe,

impl<const SIZE: usize> RefUnwindSafe for IoMem<SIZE>

impl<T> RefUnwindSafe for Adapter<T>where
    T: RefUnwindSafe,

impl<'a> RefUnwindSafe for KParamGuard<'a>

This documentation is an old archive. Please see https://rust.docs.kernel.org instead.