struct UnsafeCellRanges;Expand description
Collects the ranges within a type that are covered by UnsafeCell.
Trait Implementations§
Source§impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> PerByteTracking<'a, 'tcx, Bx> for UnsafeCellRanges
impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> PerByteTracking<'a, 'tcx, Bx> for UnsafeCellRanges
Source§fn excludes(bx: &mut Bx, ty: Ty<'tcx>) -> bool
fn excludes(bx: &mut Bx, ty: Ty<'tcx>) -> bool
Indicates that we can exclude the range of bytes that contains this type.
This tells us that
PerByteTracking::contains is false for every
field or variant without having to recurse any further into the layout of the type.Source§fn contains(bx: &mut Bx, ty: Ty<'tcx>) -> bool
fn contains(bx: &mut Bx, ty: Ty<'tcx>) -> bool
Indicates that we should include the range containing this type.
Source§fn visit_layout(
bx: &mut Bx,
offset: Size,
ranges: &mut RangeSet<Size>,
layout: TyAndLayout<'tcx>,
imprecise: bool,
)
fn visit_layout( bx: &mut Bx, offset: Size, ranges: &mut RangeSet<Size>, layout: TyAndLayout<'tcx>, imprecise: bool, )
Traverses through the layout of a type to find each range satisfying
the predicate. Read more
Auto Trait Implementations§
impl DynSend for UnsafeCellRanges
impl DynSync for UnsafeCellRanges
impl Freeze for UnsafeCellRanges
impl RefUnwindSafe for UnsafeCellRanges
impl Send for UnsafeCellRanges
impl Sync for UnsafeCellRanges
impl Unpin for UnsafeCellRanges
impl UnsafeUnpin for UnsafeCellRanges
impl UnwindSafe for UnsafeCellRanges
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<K> IntoQueryKey<K> for K
impl<K> IntoQueryKey<K> for K
Source§fn into_query_key(self) -> K
fn into_query_key(self) -> K
Argument conversion from
Self to K.
This should always be a very cheap conversion, e.g. LocalDefId::to_def_id.Source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
Source§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
Source§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 0 bytes