struct UnsafePinnedRanges;Expand description
Collects the ranges within a type that are covered by UnsafePinned.
Trait Implementations§
Source§impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> PerByteTracking<'a, 'tcx, Bx> for UnsafePinnedRanges
impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> PerByteTracking<'a, 'tcx, Bx> for UnsafePinnedRanges
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 UnsafePinnedRanges
impl DynSync for UnsafePinnedRanges
impl Freeze for UnsafePinnedRanges
impl RefUnwindSafe for UnsafePinnedRanges
impl Send for UnsafePinnedRanges
impl Sync for UnsafePinnedRanges
impl Unpin for UnsafePinnedRanges
impl UnsafeUnpin for UnsafePinnedRanges
impl UnwindSafe for UnsafePinnedRanges
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