Trait core::marker::Freeze

source ·
pub unsafe auto trait Freeze { }
🔬This is a nightly-only experimental API. (freeze #121675)
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§

1.28.0 · source§

impl<T> Freeze for NonZero<T>

source§

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

source§

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

source§

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

source§

impl<T: ?Sized> Freeze for &T

source§

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

source§

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

Auto implementors§

§

impl !Freeze for AtomicBool

§

impl !Freeze for AtomicI8

§

impl !Freeze for AtomicI16

§

impl !Freeze for AtomicI32

§

impl !Freeze for AtomicI64

§

impl !Freeze for AtomicIsize

§

impl !Freeze for AtomicU8

§

impl !Freeze for AtomicU16

§

impl !Freeze for AtomicU32

§

impl !Freeze for AtomicU64

§

impl !Freeze for AtomicUsize

§

impl Freeze for AsciiChar

§

impl Freeze for core::cmp::Ordering

§

impl Freeze for Infallible

§

impl Freeze for c_void

§

impl Freeze for core::fmt::Alignment

§

impl Freeze for BasicBlock

§

impl Freeze for UnwindTerminateReason

§

impl Freeze for IpAddr

§

impl Freeze for Ipv6MulticastScope

§

impl Freeze for SocketAddr

§

impl Freeze for FpCategory

§

impl Freeze for IntErrorKind

§

impl Freeze for SearchStep

§

impl Freeze for core::sync::atomic::Ordering

§

impl Freeze for bool

§

impl Freeze for char

§

impl Freeze for f16

§

impl Freeze for f32

§

impl Freeze for f64

§

impl Freeze for f128

§

impl Freeze for i8

§

impl Freeze for i16

§

impl Freeze for i32

§

impl Freeze for i64

§

impl Freeze for i128

§

impl Freeze for isize

§

impl Freeze for str

§

impl Freeze for u8

§

impl Freeze for u16

§

impl Freeze for u32

§

impl Freeze for u64

§

impl Freeze for u128

§

impl Freeze for ()

§

impl Freeze for usize

§

impl Freeze for AllocError

§

impl Freeze for Layout

§

impl Freeze for LayoutError

§

impl Freeze for TypeId

§

impl Freeze for float64x1_t

§

impl Freeze for float64x1x2_t

§

impl Freeze for float64x1x3_t

§

impl Freeze for float64x1x4_t

§

impl Freeze for float64x2_t

§

impl Freeze for float64x2x2_t

§

impl Freeze for float64x2x3_t

§

impl Freeze for float64x2x4_t

§

impl Freeze for SY

§

impl Freeze for float32x2_t

§

impl Freeze for float32x2x2_t

§

impl Freeze for float32x2x3_t

§

impl Freeze for float32x2x4_t

§

impl Freeze for float32x4_t

§

impl Freeze for float32x4x2_t

§

impl Freeze for float32x4x3_t

§

impl Freeze for float32x4x4_t

§

impl Freeze for int8x4_t

§

impl Freeze for int8x8_t

§

impl Freeze for int8x8x2_t

§

impl Freeze for int8x8x3_t

§

impl Freeze for int8x8x4_t

§

impl Freeze for int8x16_t

§

impl Freeze for int8x16x2_t

§

impl Freeze for int8x16x3_t

§

impl Freeze for int8x16x4_t

§

impl Freeze for int16x2_t

§

impl Freeze for int16x4_t

§

impl Freeze for int16x4x2_t

§

impl Freeze for int16x4x3_t

§

impl Freeze for int16x4x4_t

§

impl Freeze for int16x8_t

§

impl Freeze for int16x8x2_t

§

impl Freeze for int16x8x3_t

§

impl Freeze for int16x8x4_t

§

impl Freeze for int32x2_t

§

impl Freeze for int32x2x2_t

§

impl Freeze for int32x2x3_t

§

impl Freeze for int32x2x4_t

§

impl Freeze for int32x4_t

§

impl Freeze for int32x4x2_t

§

impl Freeze for int32x4x3_t

§

impl Freeze for int32x4x4_t

§

impl Freeze for int64x1_t

§

impl Freeze for int64x1x2_t

§

impl Freeze for int64x1x3_t

§

impl Freeze for int64x1x4_t

§

impl Freeze for int64x2_t

§

impl Freeze for int64x2x2_t

§

impl Freeze for int64x2x3_t

§

impl Freeze for int64x2x4_t

§

impl Freeze for poly8x8_t

§

impl Freeze for poly8x8x2_t

§

impl Freeze for poly8x8x3_t

§

impl Freeze for poly8x8x4_t

§

impl Freeze for poly8x16_t

§

impl Freeze for poly8x16x2_t

§

impl Freeze for poly8x16x3_t

§

impl Freeze for poly8x16x4_t

§

impl Freeze for poly16x4_t

§

impl Freeze for poly16x4x2_t

§

impl Freeze for poly16x4x3_t

§

impl Freeze for poly16x4x4_t

§

impl Freeze for poly16x8_t

§

impl Freeze for poly16x8x2_t

§

impl Freeze for poly16x8x3_t

§

impl Freeze for poly16x8x4_t

§

impl Freeze for poly64x1_t

§

impl Freeze for poly64x1x2_t

§

impl Freeze for poly64x1x3_t

§

impl Freeze for poly64x1x4_t

§

impl Freeze for poly64x2_t

§

impl Freeze for poly64x2x2_t

§

impl Freeze for poly64x2x3_t

§

impl Freeze for poly64x2x4_t

§

impl Freeze for uint8x4_t

§

impl Freeze for uint8x8_t

§

impl Freeze for uint8x8x2_t

§

impl Freeze for uint8x8x3_t

§

impl Freeze for uint8x8x4_t

§

impl Freeze for uint8x16_t

§

impl Freeze for uint8x16x2_t

§

impl Freeze for uint8x16x3_t

§

impl Freeze for uint8x16x4_t

§

impl Freeze for uint16x2_t

§

impl Freeze for uint16x4_t

§

impl Freeze for uint16x4x2_t

§

impl Freeze for uint16x4x3_t

§

impl Freeze for uint16x4x4_t

§

impl Freeze for uint16x8_t

§

impl Freeze for uint16x8x2_t

§

impl Freeze for uint16x8x3_t

§

impl Freeze for uint16x8x4_t

§

impl Freeze for uint32x2_t

§

impl Freeze for uint32x2x2_t

§

impl Freeze for uint32x2x3_t

§

impl Freeze for uint32x2x4_t

§

impl Freeze for uint32x4_t

§

impl Freeze for uint32x4x2_t

§

impl Freeze for uint32x4x3_t

§

impl Freeze for uint32x4x4_t

§

impl Freeze for uint64x1_t

§

impl Freeze for uint64x1x2_t

§

impl Freeze for uint64x1x3_t

§

impl Freeze for uint64x1x4_t

§

impl Freeze for uint64x2_t

§

impl Freeze for uint64x2x2_t

§

impl Freeze for uint64x2x3_t

§

impl Freeze for uint64x2x4_t

§

impl Freeze for v2f64

§

impl Freeze for v2i64

§

impl Freeze for v2u64

§

impl Freeze for v4f32

§

impl Freeze for v4f64

§

impl Freeze for v4i32

§

impl Freeze for v4i64

§

impl Freeze for v4u32

§

impl Freeze for v4u64

§

impl Freeze for v8f32

§

impl Freeze for v8i16

§

impl Freeze for v8i32

§

impl Freeze for v8u16

§

impl Freeze for v8u32

§

impl Freeze for v16i8

§

impl Freeze for v16i16

§

impl Freeze for v16u8

§

impl Freeze for v16u16

§

impl Freeze for v32i8

§

impl Freeze for v32u8

§

impl Freeze for vector_bool_char

§

impl Freeze for vector_bool_int

§

impl Freeze for vector_bool_long

§

impl Freeze for vector_bool_short

§

impl Freeze for vector_double

§

impl Freeze for vector_float

§

impl Freeze for vector_signed_char

§

impl Freeze for vector_signed_int

§

impl Freeze for vector_signed_long

§

impl Freeze for vector_signed_short

§

impl Freeze for vector_unsigned_char

§

impl Freeze for vector_unsigned_int

§

impl Freeze for vector_unsigned_long

§

impl Freeze for vector_unsigned_short

§

impl Freeze for v128

§

impl Freeze for CpuidResult

§

impl Freeze for __m128

§

impl Freeze for __m128bh

§

impl Freeze for __m128d

§

impl Freeze for __m128i

§

impl Freeze for __m256

§

impl Freeze for __m256bh

§

impl Freeze for __m256d

§

impl Freeze for __m256i

§

impl Freeze for __m512

§

impl Freeze for __m512bh

§

impl Freeze for __m512d

§

impl Freeze for __m512i

§

impl Freeze for TryFromSliceError

§

impl Freeze for core::ascii::EscapeDefault

§

impl Freeze for BorrowError

§

impl Freeze for BorrowMutError

§

impl Freeze for CharTryFromError

§

impl Freeze for DecodeUtf16Error

§

impl Freeze for core::char::EscapeDebug

§

impl Freeze for core::char::EscapeDefault

§

impl Freeze for core::char::EscapeUnicode

§

impl Freeze for ParseCharError

§

impl Freeze for ToLowercase

§

impl Freeze for ToUppercase

§

impl Freeze for TryFromCharError

§

impl Freeze for FromBytesUntilNulError

§

impl Freeze for FromBytesWithNulError

§

impl Freeze for CStr

§

impl Freeze for Error

§

impl Freeze for SipHasher

§

impl Freeze for ReturnToArg

§

impl Freeze for UnwindActionArg

§

impl Freeze for Assume

§

impl Freeze for AddrParseError

§

impl Freeze for Ipv4Addr

§

impl Freeze for Ipv6Addr

§

impl Freeze for SocketAddrV4

§

impl Freeze for SocketAddrV6

§

impl Freeze for ParseFloatError

§

impl Freeze for ParseIntError

§

impl Freeze for TryFromIntError

§

impl Freeze for RangeFull

§

impl Freeze for core::ptr::Alignment

§

impl Freeze for TimSortRun

§

impl Freeze for ParseBoolError

§

impl Freeze for Utf8Error

§

impl Freeze for LocalWaker

§

impl Freeze for RawWaker

§

impl Freeze for RawWakerVTable

§

impl Freeze for Waker

§

impl Freeze for Duration

§

impl Freeze for TryFromFloatSecsError

§

impl Freeze for PhantomPinned

§

impl<'a> !Freeze for Request<'a>

§

impl<'a> Freeze for Source<'a>

§

impl<'a> Freeze for core::ffi::c_str::Bytes<'a>

§

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

§

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

§

impl<'a> Freeze for BorrowedCursor<'a>

§

impl<'a> Freeze for Location<'a>

§

impl<'a> Freeze for PanicInfo<'a>

§

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

§

impl<'a> Freeze for CharSearcher<'a>

§

impl<'a> Freeze for core::str::Bytes<'a>

§

impl<'a> Freeze for CharIndices<'a>

§

impl<'a> Freeze for Chars<'a>

§

impl<'a> Freeze for EncodeUtf16<'a>

§

impl<'a> Freeze for core::str::EscapeDebug<'a>

§

impl<'a> Freeze for core::str::EscapeDefault<'a>

§

impl<'a> Freeze for core::str::EscapeUnicode<'a>

§

impl<'a> Freeze for Lines<'a>

§

impl<'a> Freeze for LinesAny<'a>

§

impl<'a> Freeze for SplitAsciiWhitespace<'a>

§

impl<'a> Freeze for SplitWhitespace<'a>

§

impl<'a> Freeze for Utf8Chunk<'a>

§

impl<'a> Freeze for Utf8Chunks<'a>

§

impl<'a> Freeze for Context<'a>

§

impl<'a> Freeze for ContextBuilder<'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 CharSliceSearcher<'a, 'b>

§

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

§

impl<'a, 'b, const N: usize> Freeze for CharArrayRefSearcher<'a, 'b, N>

§

impl<'a, 'f> Freeze for VaList<'a, 'f>

§

impl<'a, A> Freeze for core::option::Iter<'a, A>

§

impl<'a, A> Freeze for core::option::IterMut<'a, A>

§

impl<'a, F> Freeze for CharPredicateSearcher<'a, F>
where F: Freeze,

§

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

§

impl<'a, P> Freeze for MatchIndices<'a, P>
where <P as Pattern<'a>>::Searcher: Freeze,

§

impl<'a, P> Freeze for Matches<'a, P>
where <P as Pattern<'a>>::Searcher: Freeze,

§

impl<'a, P> Freeze for RMatchIndices<'a, P>
where <P as Pattern<'a>>::Searcher: Freeze,

§

impl<'a, P> Freeze for RMatches<'a, P>
where <P as Pattern<'a>>::Searcher: Freeze,

§

impl<'a, P> Freeze for core::str::RSplit<'a, P>
where <P as Pattern<'a>>::Searcher: Freeze,

§

impl<'a, P> Freeze for core::str::RSplitN<'a, P>
where <P as Pattern<'a>>::Searcher: Freeze,

§

impl<'a, P> Freeze for RSplitTerminator<'a, P>
where <P as Pattern<'a>>::Searcher: Freeze,

§

impl<'a, P> Freeze for core::str::Split<'a, P>
where <P as Pattern<'a>>::Searcher: Freeze,

§

impl<'a, P> Freeze for core::str::SplitInclusive<'a, P>
where <P as Pattern<'a>>::Searcher: Freeze,

§

impl<'a, P> Freeze for core::str::SplitN<'a, P>
where <P as Pattern<'a>>::Searcher: Freeze,

§

impl<'a, P> Freeze for SplitTerminator<'a, P>
where <P as Pattern<'a>>::Searcher: Freeze,

§

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

§

impl<'a, T> Freeze for core::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 core::slice::Iter<'a, T>

§

impl<'a, T> Freeze for core::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, 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 core::slice::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 core::slice::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 core::slice::Split<'a, T, P>
where P: Freeze,

§

impl<'a, T, P> Freeze for core::slice::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 core::slice::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 core::slice::ArrayChunks<'a, T, N>

§

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

§

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

§

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

§

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

§

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

§

impl<'data> Freeze for BorrowedBuf<'data>

§

impl<'f> Freeze for VaListImpl<'f>

§

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

§

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

§

impl<A> Freeze for core::option::IntoIter<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 FormatterFn<F>
where F: Freeze,

§

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

§

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

§

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

§

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

§

impl<H> Freeze for BuildHasherDefault<H>

§

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

§

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

§

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 core::iter::ArrayChunks<I, N>
where I: Freeze, <I as Iterator>::Item: Freeze,

§

impl<Idx> Freeze for 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<Ptr> Freeze for Pin<Ptr>
where Ptr: Freeze,

§

impl<Ret, T> Freeze for fn(T₁, T₂, …, Tₙ) -> Ret

§

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 AtomicPtr<T>

§

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

§

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

§

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

§

impl<T> Freeze for [T]
where T: Freeze,

§

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

§

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

§

impl<T> Freeze for AsyncDropInPlace<T>
where <T as AsyncDestruct>::AsyncDestructor: Freeze, T: ?Sized,

§

impl<T> Freeze for Pending<T>

§

impl<T> Freeze for Ready<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 AssertUnwindSafe<T>
where T: Freeze,

§

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

§

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

§

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

§

impl<T> Freeze for MaybeUninit<T>
where T: 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, const N: usize> Freeze for [T; N]
where T: Freeze,

§

impl<T, const N: usize> Freeze for core::array::IntoIter<T, N>
where T: Freeze,

§

impl<T, const N: usize> Freeze for Mask<T, N>
where T: Freeze,

§

impl<T, const N: usize> Freeze for Simd<T, N>
where T: Freeze,

§

impl<T, const N: usize> Freeze for [MaybeUninit<T>; N]
where T: Freeze,

§

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

§

impl<const N: usize> Freeze for LaneCount<N>

§

impl<const N: usize> Freeze for GetManyMutError<N>

§

impl<const N: usize> Freeze for [u8; N]