pub struct ImplGetNestedFieldOffset<T>(/* private fields */);
Expand description
Hack use by repr_offset
to implement GetFieldOffset<(N0, N1, ...)>
for all types without blowing up the time that cargo doc
takes to run.
Trait Implementations§
source§impl<L0, L1, F0, F1, L2, CombAlign, CombPriv> GetFieldOffset<(F0, F1)> for ImplGetNestedFieldOffset<L0>where
L0: ImplsGetFieldOffset + GetFieldOffset<F0, Type = L1>,
L1: GetFieldOffset<F1, Type = L2>,
(L0::Alignment, L1::Alignment): CombineAlignment<Aligned, Output = CombAlign>,
(L0::Privacy, L1::Privacy): CombinePrivacy<IsPublic, Output = CombPriv>,
CombAlign: Alignment,
CombPriv: Privacy,
impl<L0, L1, F0, F1, L2, CombAlign, CombPriv> GetFieldOffset<(F0, F1)> for ImplGetNestedFieldOffset<L0>where
L0: ImplsGetFieldOffset + GetFieldOffset<F0, Type = L1>,
L1: GetFieldOffset<F1, Type = L2>,
(L0::Alignment, L1::Alignment): CombineAlignment<Aligned, Output = CombAlign>,
(L0::Privacy, L1::Privacy): CombinePrivacy<IsPublic, Output = CombPriv>,
CombAlign: Alignment,
CombPriv: Privacy,
source§const OFFSET_WITH_VIS: FieldOffsetWithVis<Self, Self::Privacy, (F0, F1), L2, Self::Alignment> = _
const OFFSET_WITH_VIS: FieldOffsetWithVis<Self, Self::Privacy, (F0, F1), L2, Self::Alignment> = _
The offset of the field.
source§impl<L0, L1, L2, F0, F1, F2, L3, CombAlign, CombPriv> GetFieldOffset<(F0, F1, F2)> for ImplGetNestedFieldOffset<L0>where
L0: ImplsGetFieldOffset + GetFieldOffset<F0, Type = L1>,
L1: GetFieldOffset<F1, Type = L2>,
L2: GetFieldOffset<F2, Type = L3>,
(L0::Alignment, L1::Alignment, L2::Alignment): CombineAlignment<Aligned, Output = CombAlign>,
(L0::Privacy, L1::Privacy, L2::Privacy): CombinePrivacy<IsPublic, Output = CombPriv>,
CombAlign: Alignment,
CombPriv: Privacy,
impl<L0, L1, L2, F0, F1, F2, L3, CombAlign, CombPriv> GetFieldOffset<(F0, F1, F2)> for ImplGetNestedFieldOffset<L0>where
L0: ImplsGetFieldOffset + GetFieldOffset<F0, Type = L1>,
L1: GetFieldOffset<F1, Type = L2>,
L2: GetFieldOffset<F2, Type = L3>,
(L0::Alignment, L1::Alignment, L2::Alignment): CombineAlignment<Aligned, Output = CombAlign>,
(L0::Privacy, L1::Privacy, L2::Privacy): CombinePrivacy<IsPublic, Output = CombPriv>,
CombAlign: Alignment,
CombPriv: Privacy,
source§const OFFSET_WITH_VIS: FieldOffsetWithVis<Self, Self::Privacy, (F0, F1, F2), L3, Self::Alignment> = _
const OFFSET_WITH_VIS: FieldOffsetWithVis<Self, Self::Privacy, (F0, F1, F2), L3, Self::Alignment> = _
The offset of the field.
source§impl<L0, L1, L2, L3, F0, F1, F2, F3, L4, CombAlign, CombPriv> GetFieldOffset<(F0, F1, F2, F3)> for ImplGetNestedFieldOffset<L0>where
L0: ImplsGetFieldOffset + GetFieldOffset<F0, Type = L1>,
L1: GetFieldOffset<F1, Type = L2>,
L2: GetFieldOffset<F2, Type = L3>,
L3: GetFieldOffset<F3, Type = L4>,
(L0::Alignment, L1::Alignment, L2::Alignment, L3::Alignment): CombineAlignment<Aligned, Output = CombAlign>,
(L0::Privacy, L1::Privacy, L2::Privacy, L3::Privacy): CombinePrivacy<IsPublic, Output = CombPriv>,
CombAlign: Alignment,
CombPriv: Privacy,
impl<L0, L1, L2, L3, F0, F1, F2, F3, L4, CombAlign, CombPriv> GetFieldOffset<(F0, F1, F2, F3)> for ImplGetNestedFieldOffset<L0>where
L0: ImplsGetFieldOffset + GetFieldOffset<F0, Type = L1>,
L1: GetFieldOffset<F1, Type = L2>,
L2: GetFieldOffset<F2, Type = L3>,
L3: GetFieldOffset<F3, Type = L4>,
(L0::Alignment, L1::Alignment, L2::Alignment, L3::Alignment): CombineAlignment<Aligned, Output = CombAlign>,
(L0::Privacy, L1::Privacy, L2::Privacy, L3::Privacy): CombinePrivacy<IsPublic, Output = CombPriv>,
CombAlign: Alignment,
CombPriv: Privacy,
source§const OFFSET_WITH_VIS: FieldOffsetWithVis<Self, Self::Privacy, (F0, F1, F2, F3), L4, Self::Alignment> = _
const OFFSET_WITH_VIS: FieldOffsetWithVis<Self, Self::Privacy, (F0, F1, F2, F3), L4, Self::Alignment> = _
The offset of the field.
source§impl<L0, L1, L2, L3, L4, F0, F1, F2, F3, F4, L5, CombAlign, CombPriv> GetFieldOffset<(F0, F1, F2, F3, F4)> for ImplGetNestedFieldOffset<L0>where
L0: ImplsGetFieldOffset + GetFieldOffset<F0, Type = L1>,
L1: GetFieldOffset<F1, Type = L2>,
L2: GetFieldOffset<F2, Type = L3>,
L3: GetFieldOffset<F3, Type = L4>,
L4: GetFieldOffset<F4, Type = L5>,
(L0::Alignment, L1::Alignment, L2::Alignment, L3::Alignment, L4::Alignment): CombineAlignment<Aligned, Output = CombAlign>,
(L0::Privacy, L1::Privacy, L2::Privacy, L3::Privacy, L4::Privacy): CombinePrivacy<IsPublic, Output = CombPriv>,
CombAlign: Alignment,
CombPriv: Privacy,
impl<L0, L1, L2, L3, L4, F0, F1, F2, F3, F4, L5, CombAlign, CombPriv> GetFieldOffset<(F0, F1, F2, F3, F4)> for ImplGetNestedFieldOffset<L0>where
L0: ImplsGetFieldOffset + GetFieldOffset<F0, Type = L1>,
L1: GetFieldOffset<F1, Type = L2>,
L2: GetFieldOffset<F2, Type = L3>,
L3: GetFieldOffset<F3, Type = L4>,
L4: GetFieldOffset<F4, Type = L5>,
(L0::Alignment, L1::Alignment, L2::Alignment, L3::Alignment, L4::Alignment): CombineAlignment<Aligned, Output = CombAlign>,
(L0::Privacy, L1::Privacy, L2::Privacy, L3::Privacy, L4::Privacy): CombinePrivacy<IsPublic, Output = CombPriv>,
CombAlign: Alignment,
CombPriv: Privacy,
source§const OFFSET_WITH_VIS: FieldOffsetWithVis<Self, Self::Privacy, (F0, F1, F2, F3, F4), L5, Self::Alignment> = _
const OFFSET_WITH_VIS: FieldOffsetWithVis<Self, Self::Privacy, (F0, F1, F2, F3, F4), L5, Self::Alignment> = _
The offset of the field.
source§impl<L0, L1, L2, L3, L4, L5, F0, F1, F2, F3, F4, F5, L6, CombAlign, CombPriv> GetFieldOffset<(F0, F1, F2, F3, F4, F5)> for ImplGetNestedFieldOffset<L0>where
L0: ImplsGetFieldOffset + GetFieldOffset<F0, Type = L1>,
L1: GetFieldOffset<F1, Type = L2>,
L2: GetFieldOffset<F2, Type = L3>,
L3: GetFieldOffset<F3, Type = L4>,
L4: GetFieldOffset<F4, Type = L5>,
L5: GetFieldOffset<F5, Type = L6>,
(L0::Alignment, L1::Alignment, L2::Alignment, L3::Alignment, L4::Alignment, L5::Alignment): CombineAlignment<Aligned, Output = CombAlign>,
(L0::Privacy, L1::Privacy, L2::Privacy, L3::Privacy, L4::Privacy, L5::Privacy): CombinePrivacy<IsPublic, Output = CombPriv>,
CombAlign: Alignment,
CombPriv: Privacy,
impl<L0, L1, L2, L3, L4, L5, F0, F1, F2, F3, F4, F5, L6, CombAlign, CombPriv> GetFieldOffset<(F0, F1, F2, F3, F4, F5)> for ImplGetNestedFieldOffset<L0>where
L0: ImplsGetFieldOffset + GetFieldOffset<F0, Type = L1>,
L1: GetFieldOffset<F1, Type = L2>,
L2: GetFieldOffset<F2, Type = L3>,
L3: GetFieldOffset<F3, Type = L4>,
L4: GetFieldOffset<F4, Type = L5>,
L5: GetFieldOffset<F5, Type = L6>,
(L0::Alignment, L1::Alignment, L2::Alignment, L3::Alignment, L4::Alignment, L5::Alignment): CombineAlignment<Aligned, Output = CombAlign>,
(L0::Privacy, L1::Privacy, L2::Privacy, L3::Privacy, L4::Privacy, L5::Privacy): CombinePrivacy<IsPublic, Output = CombPriv>,
CombAlign: Alignment,
CombPriv: Privacy,
source§const OFFSET_WITH_VIS: FieldOffsetWithVis<Self, Self::Privacy, (F0, F1, F2, F3, F4, F5), L6, Self::Alignment> = _
const OFFSET_WITH_VIS: FieldOffsetWithVis<Self, Self::Privacy, (F0, F1, F2, F3, F4, F5), L6, Self::Alignment> = _
The offset of the field.
source§impl<L0, L1, L2, L3, L4, L5, L6, F0, F1, F2, F3, F4, F5, F6, L7, CombAlign, CombPriv> GetFieldOffset<(F0, F1, F2, F3, F4, F5, F6)> for ImplGetNestedFieldOffset<L0>where
L0: ImplsGetFieldOffset + GetFieldOffset<F0, Type = L1>,
L1: GetFieldOffset<F1, Type = L2>,
L2: GetFieldOffset<F2, Type = L3>,
L3: GetFieldOffset<F3, Type = L4>,
L4: GetFieldOffset<F4, Type = L5>,
L5: GetFieldOffset<F5, Type = L6>,
L6: GetFieldOffset<F6, Type = L7>,
(L0::Alignment, L1::Alignment, L2::Alignment, L3::Alignment, L4::Alignment, L5::Alignment, L6::Alignment): CombineAlignment<Aligned, Output = CombAlign>,
(L0::Privacy, L1::Privacy, L2::Privacy, L3::Privacy, L4::Privacy, L5::Privacy, L6::Privacy): CombinePrivacy<IsPublic, Output = CombPriv>,
CombAlign: Alignment,
CombPriv: Privacy,
impl<L0, L1, L2, L3, L4, L5, L6, F0, F1, F2, F3, F4, F5, F6, L7, CombAlign, CombPriv> GetFieldOffset<(F0, F1, F2, F3, F4, F5, F6)> for ImplGetNestedFieldOffset<L0>where
L0: ImplsGetFieldOffset + GetFieldOffset<F0, Type = L1>,
L1: GetFieldOffset<F1, Type = L2>,
L2: GetFieldOffset<F2, Type = L3>,
L3: GetFieldOffset<F3, Type = L4>,
L4: GetFieldOffset<F4, Type = L5>,
L5: GetFieldOffset<F5, Type = L6>,
L6: GetFieldOffset<F6, Type = L7>,
(L0::Alignment, L1::Alignment, L2::Alignment, L3::Alignment, L4::Alignment, L5::Alignment, L6::Alignment): CombineAlignment<Aligned, Output = CombAlign>,
(L0::Privacy, L1::Privacy, L2::Privacy, L3::Privacy, L4::Privacy, L5::Privacy, L6::Privacy): CombinePrivacy<IsPublic, Output = CombPriv>,
CombAlign: Alignment,
CombPriv: Privacy,
source§const OFFSET_WITH_VIS: FieldOffsetWithVis<Self, Self::Privacy, (F0, F1, F2, F3, F4, F5, F6), L7, Self::Alignment> = _
const OFFSET_WITH_VIS: FieldOffsetWithVis<Self, Self::Privacy, (F0, F1, F2, F3, F4, F5, F6), L7, Self::Alignment> = _
The offset of the field.
source§impl<L0, L1, L2, L3, L4, L5, L6, L7, F0, F1, F2, F3, F4, F5, F6, F7, L8, CombAlign, CombPriv> GetFieldOffset<(F0, F1, F2, F3, F4, F5, F6, F7)> for ImplGetNestedFieldOffset<L0>where
L0: ImplsGetFieldOffset + GetFieldOffset<F0, Type = L1>,
L1: GetFieldOffset<F1, Type = L2>,
L2: GetFieldOffset<F2, Type = L3>,
L3: GetFieldOffset<F3, Type = L4>,
L4: GetFieldOffset<F4, Type = L5>,
L5: GetFieldOffset<F5, Type = L6>,
L6: GetFieldOffset<F6, Type = L7>,
L7: GetFieldOffset<F7, Type = L8>,
(L0::Alignment, L1::Alignment, L2::Alignment, L3::Alignment, L4::Alignment, L5::Alignment, L6::Alignment, L7::Alignment): CombineAlignment<Aligned, Output = CombAlign>,
(L0::Privacy, L1::Privacy, L2::Privacy, L3::Privacy, L4::Privacy, L5::Privacy, L6::Privacy, L7::Privacy): CombinePrivacy<IsPublic, Output = CombPriv>,
CombAlign: Alignment,
CombPriv: Privacy,
impl<L0, L1, L2, L3, L4, L5, L6, L7, F0, F1, F2, F3, F4, F5, F6, F7, L8, CombAlign, CombPriv> GetFieldOffset<(F0, F1, F2, F3, F4, F5, F6, F7)> for ImplGetNestedFieldOffset<L0>where
L0: ImplsGetFieldOffset + GetFieldOffset<F0, Type = L1>,
L1: GetFieldOffset<F1, Type = L2>,
L2: GetFieldOffset<F2, Type = L3>,
L3: GetFieldOffset<F3, Type = L4>,
L4: GetFieldOffset<F4, Type = L5>,
L5: GetFieldOffset<F5, Type = L6>,
L6: GetFieldOffset<F6, Type = L7>,
L7: GetFieldOffset<F7, Type = L8>,
(L0::Alignment, L1::Alignment, L2::Alignment, L3::Alignment, L4::Alignment, L5::Alignment, L6::Alignment, L7::Alignment): CombineAlignment<Aligned, Output = CombAlign>,
(L0::Privacy, L1::Privacy, L2::Privacy, L3::Privacy, L4::Privacy, L5::Privacy, L6::Privacy, L7::Privacy): CombinePrivacy<IsPublic, Output = CombPriv>,
CombAlign: Alignment,
CombPriv: Privacy,
source§const OFFSET_WITH_VIS: FieldOffsetWithVis<Self, Self::Privacy, (F0, F1, F2, F3, F4, F5, F6, F7), L8, Self::Alignment> = _
const OFFSET_WITH_VIS: FieldOffsetWithVis<Self, Self::Privacy, (F0, F1, F2, F3, F4, F5, F6, F7), L8, Self::Alignment> = _
The offset of the field.
Auto Trait Implementations§
impl<T> Freeze for ImplGetNestedFieldOffset<T>where
T: Freeze,
impl<T> RefUnwindSafe for ImplGetNestedFieldOffset<T>where
T: RefUnwindSafe,
impl<T> Send for ImplGetNestedFieldOffset<T>where
T: Send,
impl<T> Sync for ImplGetNestedFieldOffset<T>where
T: Sync,
impl<T> Unpin for ImplGetNestedFieldOffset<T>where
T: Unpin,
impl<T> UnwindSafe for ImplGetNestedFieldOffset<T>where
T: UnwindSafe,
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<FN, Ty> GetPubFieldOffset<FN> for Tywhere
Ty: GetFieldOffset<FN, Privacy = IsPublic>,
impl<FN, Ty> GetPubFieldOffset<FN> for Tywhere
Ty: GetFieldOffset<FN, Privacy = IsPublic>,
source§impl<S> ROExtAcc for S
impl<S> ROExtAcc for S
source§fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
Gets a reference to a field, determined by
offset
. Read moresource§fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
Gets a muatble reference to a field, determined by
offset
. Read moresource§fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
Gets a const pointer to a field,
the field is determined by
offset
. Read moresource§fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
Gets a mutable pointer to a field, determined by
offset
. Read moresource§impl<S> ROExtOps<Aligned> for S
impl<S> ROExtOps<Aligned> for S
source§fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
Replaces a field (determined by
offset
) with value
,
returning the previous value of the field. Read moresource§fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
source§impl<S> ROExtOps<Unaligned> for S
impl<S> ROExtOps<Unaligned> for S
source§fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
Replaces a field (determined by
offset
) with value
,
returning the previous value of the field. Read more