Trait Freeze

Source
pub unsafe auto trait Freeze { }
๐Ÿ”ฌThis is a nightly-only experimental API. (freeze)
Expand description

Used to determine whether a type contains any UnsafeCell internally, but not through an indirection. This affects, for example, whether a static of that type is placed in read-only static memory or writable static memory. This can be used to declare that a constant with a generic type will not contain interior mutability, and subsequently allow placing the constant behind references.

ยงSafety

This trait is a core part of the language, it is just expressed as a trait in libcore for convenience. Do not implement it for other types.

Implementorsยง

Sourceยง

impl<T> !Freeze for UnsafeCell<T>
where T: ?Sized,

Sourceยง

impl<T> Freeze for *const T
where T: ?Sized,

Sourceยง

impl<T> Freeze for *mut T
where T: ?Sized,

Sourceยง

impl<T> Freeze for &T
where T: ?Sized,

Sourceยง

impl<T> Freeze for &mut T
where T: ?Sized,

1.28.0 ยท Sourceยง

impl<T> Freeze for NonZero<T>

Sourceยง

impl<T> Freeze for PhantomData<T>
where T: ?Sized,

Auto implementorsยง

ยง

impl Freeze for Ordering

ยง

impl Freeze for Infallible

ยง

impl Freeze for sr_std::fmt::Alignment

ยง

impl Freeze for DebugAsHex

ยง

impl Freeze for Sign

ยง

impl Freeze for FpCategory

ยง

impl Freeze for IntErrorKind

ยง

impl Freeze for OneSidedRangeBound

ยง

impl Freeze for GetDisjointMutError

ยง

impl Freeze for BorrowError

ยง

impl Freeze for BorrowMutError

ยง

impl Freeze for UnorderedKeyError

ยง

impl Freeze for Error

ยง

impl Freeze for FormattingOptions

ยง

impl Freeze for DefaultHasher

ยง

impl Freeze for RandomState

ยง

impl Freeze for SipHasher

ยง

impl Freeze for Assume

ยง

impl Freeze for ParseFloatError

ยง

impl Freeze for ParseIntError

ยง

impl Freeze for TryFromIntError

ยง

impl Freeze for RangeFull

ยง

impl Freeze for sr_std::ptr::Alignment

ยง

impl Freeze for PhantomPinned

ยง

impl<'a> Freeze for Arguments<'a>

ยง

impl<'a> Freeze for Formatter<'a>

ยง

impl<'a> Freeze for EscapeAscii<'a>

ยง

impl<'a> Freeze for PhantomContravariantLifetime<'a>

ยง

impl<'a> Freeze for PhantomCovariantLifetime<'a>

ยง

impl<'a> Freeze for PhantomInvariantLifetime<'a>

ยง

impl<'a, 'b> Freeze for DebugList<'a, 'b>

ยง

impl<'a, 'b> Freeze for DebugMap<'a, 'b>

ยง

impl<'a, 'b> Freeze for DebugSet<'a, 'b>

ยง

impl<'a, 'b> Freeze for DebugStruct<'a, 'b>

ยง

impl<'a, 'b> Freeze for DebugTuple<'a, 'b>

ยง

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

ยง

impl<'a, I> Freeze for ByRefSized<'a, I>

ยง

impl<'a, I, A> Freeze for Splice<'a, I, A>
where I: Freeze,

ยง

impl<'a, K, V> Freeze for Cursor<'a, K, V>

ยง

impl<'a, K, V> Freeze for sr_std::collections::btree_map::Iter<'a, K, V>

ยง

impl<'a, K, V> Freeze for sr_std::collections::btree_map::IterMut<'a, K, V>

ยง

impl<'a, K, V> Freeze for Keys<'a, K, V>

ยง

impl<'a, K, V> Freeze for sr_std::collections::btree_map::Range<'a, K, V>

ยง

impl<'a, K, V> Freeze for RangeMut<'a, K, V>

ยง

impl<'a, K, V> Freeze for Values<'a, K, V>

ยง

impl<'a, K, V> Freeze for ValuesMut<'a, K, V>

ยง

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

ยง

impl<'a, K, V, A> Freeze for CursorMut<'a, K, V, A>

ยง

impl<'a, K, V, A> Freeze for CursorMutKey<'a, K, V, A>

ยง

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

ยง

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

ยง

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

ยง

impl<'a, K, V, R, F, A> Freeze for sr_std::collections::btree_map::ExtractIf<'a, K, V, R, F, A>
where F: Freeze, A: Freeze, R: Freeze,

ยง

impl<'a, T> Freeze for sr_std::result::Iter<'a, T>

ยง

impl<'a, T> Freeze for sr_std::result::IterMut<'a, T>

ยง

impl<'a, T> Freeze for Chunks<'a, T>

ยง

impl<'a, T> Freeze for ChunksExact<'a, T>

ยง

impl<'a, T> Freeze for ChunksExactMut<'a, T>

ยง

impl<'a, T> Freeze for ChunksMut<'a, T>

ยง

impl<'a, T> Freeze for sr_std::slice::Iter<'a, T>

ยง

impl<'a, T> Freeze for sr_std::slice::IterMut<'a, T>

ยง

impl<'a, T> Freeze for RChunks<'a, T>

ยง

impl<'a, T> Freeze for RChunksExact<'a, T>

ยง

impl<'a, T> Freeze for RChunksExactMut<'a, T>

ยง

impl<'a, T> Freeze for RChunksMut<'a, T>

ยง

impl<'a, T> Freeze for Windows<'a, T>

ยง

impl<'a, T> Freeze for PeekMut<'a, T>

ยง

impl<'a, T, A> Freeze for Drain<'a, T, A>

ยง

impl<'a, T, F, A> Freeze for sr_std::vec::ExtractIf<'a, T, F, A>
where F: Freeze,

ยง

impl<'a, T, P> Freeze for ChunkBy<'a, T, P>
where P: Freeze,

ยง

impl<'a, T, P> Freeze for ChunkByMut<'a, T, P>
where P: Freeze,

ยง

impl<'a, T, P> Freeze for RSplit<'a, T, P>
where P: Freeze,

ยง

impl<'a, T, P> Freeze for RSplitMut<'a, T, P>
where P: Freeze,

ยง

impl<'a, T, P> Freeze for RSplitN<'a, T, P>
where P: Freeze,

ยง

impl<'a, T, P> Freeze for RSplitNMut<'a, T, P>
where P: Freeze,

ยง

impl<'a, T, P> Freeze for Split<'a, T, P>
where P: Freeze,

ยง

impl<'a, T, P> Freeze for SplitInclusive<'a, T, P>
where P: Freeze,

ยง

impl<'a, T, P> Freeze for SplitInclusiveMut<'a, T, P>
where P: Freeze,

ยง

impl<'a, T, P> Freeze for SplitMut<'a, T, P>
where P: Freeze,

ยง

impl<'a, T, P> Freeze for SplitN<'a, T, P>
where P: Freeze,

ยง

impl<'a, T, P> Freeze for SplitNMut<'a, T, P>
where P: Freeze,

ยง

impl<'a, T, const N: usize> Freeze for ArrayWindows<'a, T, N>

ยง

impl<'b, T> Freeze for Ref<'b, T>
where T: ?Sized,

ยง

impl<'b, T> Freeze for RefMut<'b, T>
where T: ?Sized,

ยง

impl<A> Freeze for Repeat<A>
where A: Freeze,

ยง

impl<A> Freeze for RepeatN<A>
where A: Freeze,

ยง

impl<A, B> Freeze for Chain<A, B>
where A: Freeze, B: Freeze,

ยง

impl<A, B> Freeze for Zip<A, B>
where A: Freeze, B: Freeze,

ยง

impl<B, C> Freeze for ControlFlow<B, C>
where C: Freeze, B: Freeze,

ยง

impl<Dyn> Freeze for DynMetadata<Dyn>
where Dyn: ?Sized,

ยง

impl<F> Freeze for sr_std::fmt::FromFn<F>
where F: Freeze,

ยง

impl<F> Freeze for sr_std::iter::FromFn<F>
where F: Freeze,

ยง

impl<F> Freeze for OnceWith<F>
where F: Freeze,

ยง

impl<F> Freeze for RepeatWith<F>
where F: Freeze,

ยง

impl<G> Freeze for FromCoroutine<G>
where G: Freeze,

ยง

impl<H> Freeze for BuildHasherDefault<H>

ยง

impl<I> Freeze for Cloned<I>
where I: Freeze,

ยง

impl<I> Freeze for Copied<I>
where I: Freeze,

ยง

impl<I> Freeze for Cycle<I>
where I: Freeze,

ยง

impl<I> Freeze for Enumerate<I>
where I: Freeze,

ยง

impl<I> Freeze for Flatten<I>
where <<I as Iterator>::Item as IntoIterator>::IntoIter: Freeze, I: Freeze,

ยง

impl<I> Freeze for Fuse<I>
where I: Freeze,

ยง

impl<I> Freeze for Intersperse<I>
where <I as Iterator>::Item: Sized + Freeze, I: Freeze,

ยง

impl<I> Freeze for Peekable<I>
where I: Freeze, <I as Iterator>::Item: Freeze,

ยง

impl<I> Freeze for Skip<I>
where I: Freeze,

ยง

impl<I> Freeze for StepBy<I>
where I: Freeze,

ยง

impl<I> Freeze for Take<I>
where I: Freeze,

ยง

impl<I, F> Freeze for FilterMap<I, F>
where I: Freeze, F: Freeze,

ยง

impl<I, F> Freeze for Inspect<I, F>
where I: Freeze, F: Freeze,

ยง

impl<I, F> Freeze for Map<I, F>
where I: Freeze, F: Freeze,

ยง

impl<I, F, const N: usize> Freeze for MapWindows<I, F, N>
where F: Freeze, I: Freeze, <I as Iterator>::Item: Freeze,

ยง

impl<I, G> Freeze for IntersperseWith<I, G>
where G: Freeze, <I as Iterator>::Item: Freeze, I: Freeze,

ยง

impl<I, P> Freeze for Filter<I, P>
where I: Freeze, P: Freeze,

ยง

impl<I, P> Freeze for MapWhile<I, P>
where I: Freeze, P: Freeze,

ยง

impl<I, P> Freeze for SkipWhile<I, P>
where I: Freeze, P: Freeze,

ยง

impl<I, P> Freeze for TakeWhile<I, P>
where I: Freeze, P: Freeze,

ยง

impl<I, St, F> Freeze for Scan<I, St, F>
where I: Freeze, F: Freeze, St: Freeze,

ยง

impl<I, U, F> Freeze for FlatMap<I, U, F>
where <U as IntoIterator>::IntoIter: Freeze, I: Freeze, F: Freeze,

ยง

impl<I, const N: usize> Freeze for ArrayChunks<I, N>
where I: Freeze, <I as Iterator>::Item: Freeze,

ยง

impl<Idx> Freeze for sr_std::ops::Range<Idx>
where Idx: Freeze,

ยง

impl<Idx> Freeze for RangeFrom<Idx>
where Idx: Freeze,

ยง

impl<Idx> Freeze for RangeInclusive<Idx>
where Idx: Freeze,

ยง

impl<Idx> Freeze for RangeTo<Idx>
where Idx: Freeze,

ยง

impl<Idx> Freeze for RangeToInclusive<Idx>
where Idx: Freeze,

ยง

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

ยง

impl<K, V, A> Freeze for sr_std::collections::btree_map::IntoIter<K, V, A>
where A: Freeze,

ยง

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

ยง

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

ยง

impl<T> !Freeze for Cell<T>

ยง

impl<T> !Freeze for OnceCell<T>

ยง

impl<T> !Freeze for RefCell<T>

ยง

impl<T> !Freeze for SyncUnsafeCell<T>

ยง

impl<T> Freeze for Bound<T>
where T: Freeze,

ยง

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

ยง

impl<T> Freeze for Reverse<T>
where T: Freeze,

ยง

impl<T> Freeze for Empty<T>

ยง

impl<T> Freeze for Once<T>
where T: Freeze,

ยง

impl<T> Freeze for Rev<T>
where T: Freeze,

ยง

impl<T> Freeze for Discriminant<T>

ยง

impl<T> Freeze for ManuallyDrop<T>
where T: Freeze + ?Sized,

ยง

impl<T> Freeze for Saturating<T>
where T: Freeze,

ยง

impl<T> Freeze for Wrapping<T>
where T: Freeze,

ยง

impl<T> Freeze for Yeet<T>
where T: Freeze,

ยง

impl<T> Freeze for NonNull<T>
where T: ?Sized,

ยง

impl<T> Freeze for sr_std::result::IntoIter<T>
where T: Freeze,

ยง

impl<T> Freeze for PhantomContravariant<T>
where T: ?Sized,

ยง

impl<T> Freeze for PhantomCovariant<T>
where T: ?Sized,

ยง

impl<T> Freeze for PhantomInvariant<T>
where T: ?Sized,

ยง

impl<T> Freeze for MaybeUninit<T>
where T: Freeze,

ยง

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

ยง

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

ยง

impl<T, A> Freeze for Rc<T, A>
where A: Freeze, T: ?Sized,

ยง

impl<T, A> Freeze for UniqueRc<T, A>
where A: Freeze, T: ?Sized,

ยง

impl<T, A> Freeze for Weak<T, A>
where A: Freeze, T: ?Sized,

ยง

impl<T, A> Freeze for sr_std::vec::IntoIter<T, A>
where A: Freeze,

ยง

impl<T, E> Freeze for Result<T, E>
where T: Freeze, E: Freeze,

ยง

impl<T, F = fn() -> T> !Freeze for LazyCell<T, F>

ยง

impl<T, F> Freeze for Successors<T, F>
where F: Freeze, T: Freeze,

ยง

impl<T, F> Freeze for DropGuard<T, F>
where T: Freeze, F: Freeze,

ยง

impl<Y, R> Freeze for CoroutineState<Y, R>
where Y: Freeze, R: Freeze,