Trait corundum::TxInSafe [−][src]
pub unsafe auto trait TxInSafe { }
It is equal to UnwindSafe, but is used to ensure doubly that mutable references cannot go inside a transaction.
Safety
The user can safely specify a type as UnwindSafe
, but TxInSafe
is
unsafe to implement. This warns the programmer that the non-existence
of orphans is not guaranteed anymore.
Implementations on Foreign Types
impl TxInSafe for isize
impl<T> TxInSafe for [T] where
T: TxInSafe,
T: TxInSafe,
impl TxInSafe for [u8]
impl TxInSafe for char
impl TxInSafe for u128
impl TxInSafe for u16
impl TxInSafe for i128
impl TxInSafe for i16
impl TxInSafe for str
impl TxInSafe for f64
impl TxInSafe for u64
impl TxInSafe for u8
impl TxInSafe for i64
impl TxInSafe for i8
impl<T: ?Sized> TxInSafe for *const T where
T: TxInSafe,
T: TxInSafe,
impl<T> TxInSafe for *const [T] where
T: TxInSafe,
T: TxInSafe,
impl<T, const N: usize> TxInSafe for [T; N] where
T: TxInSafe,
T: TxInSafe,
impl TxInSafe for bool
impl TxInSafe for f32
impl TxInSafe for u32
impl TxInSafe for usize
impl TxInSafe for i32
impl<T: ?Sized> !TxInSafe for *mut T
[src]
impl<T: ?Sized> !TxInSafe for &mut T
[src]
impl<T: ?Sized> !TxInSafe for UnsafeCell<T>
[src]
Loading content...Implementors
impl TxInSafe for Chaperon
[src]
impl<A: MemPool> !TxInSafe for Journal<A>
[src]
impl<T, A: MemPool> TxInSafe for PMutex<T, A>
[src]
impl<T: LooseTxInUnsafe> TxInSafe for AssertTxInSafe<T>
[src]
impl<T: PSafe + ?Sized, A: MemPool> TxInSafe for PCell<T, A>
[src]
impl<T: PSafe + ?Sized, A: MemPool> TxInSafe for PRefCell<T, A>
[src]
impl<T: PSafe + ?Sized, A: MemPool> TxInSafe for Parc<T, A>
[src]
impl<T: PSafe, A: MemPool> TxInSafe for RootCell<'_, T, A>
[src]
impl<T: ?Sized, A: MemPool> TxInSafe for PrcBox<T, A>
[src]
impl<T: ?Sized, A: MemPool> TxInSafe for corundum::prc::VWeak<T, A>
[src]
impl<T: ?Sized, A: MemPool> TxInSafe for corundum::sync::VWeak<T, A>
[src]
Auto implementors
impl !TxInSafe for SpinLock
impl TxInSafe for LogEnum
impl TxInSafe for Heap
impl TxInSafe for BuddyAlloc
impl<'a, T> TxInSafe for IterHelper<'a, T> where
T: TxInSafe,
T: TxInSafe,
impl<'a, T, A> !TxInSafe for MutexGuard<'a, T, A>
impl<'b, T, A> !TxInSafe for RefMut<'b, T, A>
impl<'b, T: ?Sized, A> TxInSafe for Ref<'b, T, A> where
T: TxInSafe,
T: TxInSafe,
impl<A> !TxInSafe for corundum::stm::vspd::Scratchpad<A>
impl<A> TxInSafe for Measure<A> where
A: TxInSafe,
A: TxInSafe,
impl<A> TxInSafe for Notifier<A> where
A: TxInSafe,
A: TxInSafe,
impl<A> TxInSafe for BuddyAlg<A> where
A: TxInSafe,
A: TxInSafe,
impl<A> TxInSafe for corundum::stm::pspd::Scratchpad<A> where
A: TxInSafe,
A: TxInSafe,
impl<A> TxInSafe for Log<A> where
A: TxInSafe,
A: TxInSafe,
impl<A> TxInSafe for String<A> where
A: TxInSafe,
A: TxInSafe,
impl<T> TxInSafe for IntoIteratorHelper<T> where
T: TxInSafe,
T: TxInSafe,
impl<T, A> !TxInSafe for LogNonNull<T, A>
impl<T, A> !TxInSafe for ParcInner<T, A>
impl<T, A> !TxInSafe for corundum::sync::Weak<T, A>
impl<T, A> TxInSafe for Zones<T, A> where
A: TxInSafe,
T: TxInSafe,
A: TxInSafe,
T: TxInSafe,
impl<T, A> TxInSafe for TCell<T, A> where
A: TxInSafe,
T: TxInSafe,
A: TxInSafe,
T: TxInSafe,
impl<T, A> TxInSafe for VCell<T, A> where
A: TxInSafe,
T: TxInSafe,
A: TxInSafe,
T: TxInSafe,
impl<T, A> TxInSafe for Slice<T, A> where
A: TxInSafe,
T: TxInSafe,
A: TxInSafe,
T: TxInSafe,
impl<T, A> TxInSafe for Vec<T, A> where
A: TxInSafe,
T: TxInSafe,
A: TxInSafe,
T: TxInSafe,
impl<T, F = fn() -> T> !TxInSafe for LazyCell<T, F>
impl<T, const N: usize> TxInSafe for Ring<T, N> where
T: TxInSafe,
T: TxInSafe,
impl<T: ?Sized> TxInSafe for NonNull<T> where
T: TxInSafe,
T: TxInSafe,
impl<T: ?Sized, A> TxInSafe for Pbox<T, A> where
A: TxInSafe,
T: TxInSafe,
A: TxInSafe,
T: TxInSafe,
impl<T: ?Sized, A> TxInSafe for Prc<T, A> where
A: TxInSafe,
T: TxInSafe,
A: TxInSafe,
T: TxInSafe,
impl<T: ?Sized, A> TxInSafe for corundum::prc::Weak<T, A> where
A: TxInSafe,
A: TxInSafe,
impl<T: ?Sized, A> TxInSafe for Ptr<T, A> where
A: TxInSafe,
T: TxInSafe,
A: TxInSafe,
T: TxInSafe,