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

impl<T: RefUnwindSafe + ?Sized> RefUnwindSafe for Rc<T>

impl<T: ?Sized> RefUnwindSafe for Mutex<T>

impl<T: ?Sized> RefUnwindSafe for RwLock<T>

impl<T, F: UnwindSafe> RefUnwindSafe for LazyLock<T, F>where
    OnceLock<T>: RefUnwindSafe,

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<T> RefUnwindSafe for BinaryHeap<T>where
    T: RefUnwindSafe,

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

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

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

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

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

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

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

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

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

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

impl<K, V, A> RefUnwindSafe for BTreeMap<K, V, A>where
    A: RefUnwindSafe,
    K: RefUnwindSafe,
    V: RefUnwindSafe,

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

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

impl<K, V, A> RefUnwindSafe for IntoIter<K, V, A>where
    A: RefUnwindSafe,
    K: RefUnwindSafe,
    V: RefUnwindSafe,

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

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

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

impl<K, V, A> RefUnwindSafe for IntoKeys<K, V, A>where
    A: RefUnwindSafe,
    K: RefUnwindSafe,
    V: RefUnwindSafe,

impl<K, V, A> RefUnwindSafe for IntoValues<K, V, A>where
    A: RefUnwindSafe,
    K: RefUnwindSafe,
    V: RefUnwindSafe,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<T> !RefUnwindSafe for Weak<T>

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

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

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

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

impl<'a, I, A> RefUnwindSafe for Splice<'a, I, A>where
    A: RefUnwindSafe,
    I: RefUnwindSafe,
    <I as Iterator>::Item: 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 LocalKey<T>

impl<'scope, 'env> RefUnwindSafe for Scope<'scope, 'env>

impl<'scope, T> !RefUnwindSafe for ScopedJoinHandle<'scope, T>

impl<T> !RefUnwindSafe for JoinHandle<T>

impl<K, V, S> RefUnwindSafe for HashMap<K, V, S>where
    K: RefUnwindSafe,
    S: RefUnwindSafe,
    V: RefUnwindSafe,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<T, S> RefUnwindSafe for HashSet<T, S>where
    S: RefUnwindSafe,
    T: RefUnwindSafe,

impl<'a, K> RefUnwindSafe for Iter<'a, K>where
    K: RefUnwindSafe,

impl<K> RefUnwindSafe for IntoIter<K>where
    K: RefUnwindSafe,

impl<'a, K> RefUnwindSafe for Drain<'a, K>where
    K: RefUnwindSafe,

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

impl<'a, T, S> RefUnwindSafe for Intersection<'a, T, S>where
    S: RefUnwindSafe,
    T: RefUnwindSafe,

impl<'a, T, S> RefUnwindSafe for Difference<'a, T, S>where
    S: RefUnwindSafe,
    T: RefUnwindSafe,

impl<'a, T, S> RefUnwindSafe for SymmetricDifference<'a, T, S>where
    S: RefUnwindSafe,
    T: RefUnwindSafe,

impl<'a, T, S> RefUnwindSafe for Union<'a, T, S>where
    S: RefUnwindSafe,
    T: RefUnwindSafe,

impl<'a> RefUnwindSafe for SplitPaths<'a>

impl<E> RefUnwindSafe for Report<E>where
    E: RefUnwindSafe,

impl<R> RefUnwindSafe for BufReader<R>where
    R: RefUnwindSafe,

impl<W> RefUnwindSafe for BufWriter<W>where
    W: RefUnwindSafe,

impl<W> RefUnwindSafe for LineWriter<W>where
    W: RefUnwindSafe,

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

impl<'data> RefUnwindSafe for BorrowedBuf<'data>

impl<'a> RefUnwindSafe for BorrowedCursor<'a>

impl<'a> RefUnwindSafe for StdinLock<'a>

impl<'a> RefUnwindSafe for StdoutLock<'a>

impl<'a> RefUnwindSafe for StderrLock<'a>

impl<'a> RefUnwindSafe for IoSliceMut<'a>

impl<'a> RefUnwindSafe for IoSlice<'a>

impl<T, U> RefUnwindSafe for Chain<T, U>where
    T: RefUnwindSafe,
    U: RefUnwindSafe,

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

impl<R> RefUnwindSafe for Bytes<R>where
    R: RefUnwindSafe,

impl<B> RefUnwindSafe for Split<B>where
    B: RefUnwindSafe,

impl<B> RefUnwindSafe for Lines<B>where
    B: RefUnwindSafe,

impl<'a> RefUnwindSafe for Incoming<'a>

impl<'a> RefUnwindSafe for ScmRights<'a>

impl<'a> RefUnwindSafe for ScmCredentials<'a>

impl<'a> RefUnwindSafe for AncillaryData<'a>

impl<'a> RefUnwindSafe for Messages<'a>

impl<'a> RefUnwindSafe for Incoming<'a>

impl<'a> RefUnwindSafe for EncodeWide<'a>

impl<'handle> RefUnwindSafe for BorrowedHandle<'handle>

impl<'socket> RefUnwindSafe for BorrowedSocket<'socket>

impl<'fd> RefUnwindSafe for BorrowedFd<'fd>

impl<'a> RefUnwindSafe for Prefix<'a>

impl<'a> RefUnwindSafe for Component<'a>

impl<'a> RefUnwindSafe for Components<'a>

impl<'a> RefUnwindSafe for Iter<'a>

impl<'a> RefUnwindSafe for Ancestors<'a>

impl<'a> RefUnwindSafe for Display<'a>

impl<'a> RefUnwindSafe for CommandEnvs<'a>

impl<'a> RefUnwindSafe for CommandArgs<'a>

impl<T> RefUnwindSafe for Receiver<T>

impl<'a, T> RefUnwindSafe for Iter<'a, T>

impl<'a, T> RefUnwindSafe for TryIter<'a, T>

impl<T> RefUnwindSafe for IntoIter<T>

impl<T> RefUnwindSafe for Sender<T>

impl<T> RefUnwindSafe for SyncSender<T>

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

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

impl<'a, T: ?Sized> RefUnwindSafe for MutexGuard<'a, T>

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

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

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

impl<'a, T: ?Sized> RefUnwindSafe for RwLockWriteGuard<'a, T>

impl RefUnwindSafe for ()