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 SyncLazy<T, F> where
    SyncOnceCell<T>: RefUnwindSafe

Auto implementors

impl<T: ?Sized> RefUnwindSafe for ThinBox<T> where
    T: RefUnwindSafe,
    <T as Pointee>::Metadata: 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<'a> !RefUnwindSafe for Chain<'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<'a> RefUnwindSafe for ReadBuf<'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<'fd> RefUnwindSafe for BorrowedFd<'fd>

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<'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>

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

impl RefUnwindSafe for ()

impl<T> RefUnwindSafe for (T₁, T₂, …, Tₙ) where
    T: RefUnwindSafe