[−][src]Struct partial_ref::IndexSplit
(internal) Split the first part.
Trait Implementations
impl<'a, ContainingPart, PluckedOuter, PluckedInner, Reference, NestedPartIndex, Index, OuterFieldType, ContainingFieldType> PluckConst<'a, Nested<PluckedOuter, PluckedInner>, IndexSplit<NestedPartIndex, Index>> for Mut<ContainingPart, Reference> where
PluckedOuter: Part<PartType = Field<OuterFieldType>>,
PluckedInner: Part,
ContainingPart: Part<PartType = Field<ContainingFieldType>>,
ContainingFieldType: SplitIntoParts<'a, ContainingPart, Reference>,
ContainingFieldType: ?Sized,
ContainingFieldType::ResultMut: PluckConst<'a, Nested<PluckedOuter, PluckedInner>, Index>,
OuterFieldType: ?Sized,
OuterFieldType: HasPart<PluckedInner>,
OuterFieldType: PartialRefTarget<RawTarget = OuterFieldType>,
Reference: PartialRef<'a>,
Reference::Target: HasPart<ContainingPart>,
ContainingPart: ContainsNestedPart<PluckedOuter, NestedPartIndex>,
[src]
PluckedOuter: Part<PartType = Field<OuterFieldType>>,
PluckedInner: Part,
ContainingPart: Part<PartType = Field<ContainingFieldType>>,
ContainingFieldType: SplitIntoParts<'a, ContainingPart, Reference>,
ContainingFieldType: ?Sized,
ContainingFieldType::ResultMut: PluckConst<'a, Nested<PluckedOuter, PluckedInner>, Index>,
OuterFieldType: ?Sized,
OuterFieldType: HasPart<PluckedInner>,
OuterFieldType: PartialRefTarget<RawTarget = OuterFieldType>,
Reference: PartialRef<'a>,
Reference::Target: HasPart<ContainingPart>,
ContainingPart: ContainsNestedPart<PluckedOuter, NestedPartIndex>,
(internal) Pluck a constant nested subpart of the mutable first part.
This leaves all other subparts as mutable in the remaining reference.
type Remainder = <ContainingFieldType::ResultMut as PluckConst<'a, Nested<PluckedOuter, PluckedInner>, Index>>::Remainder
The partial reference left after plucking.
impl<'a, ContainingPart, PluckedOuter, PluckedInner, Reference, NestedPartIndex, Index, OuterFieldType, ContainingFieldType> PluckConst<'a, Nested<PluckedOuter, PluckedInner>, IndexSplit<NestedPartIndex, Index>> for Const<ContainingPart, Reference> where
PluckedOuter: Part<PartType = Field<OuterFieldType>>,
PluckedInner: Part,
ContainingPart: Part<PartType = Field<ContainingFieldType>>,
ContainingFieldType: SplitIntoParts<'a, ContainingPart, Reference>,
ContainingFieldType: ?Sized,
ContainingFieldType::ResultMut: PluckConst<'a, Nested<PluckedOuter, PluckedInner>, Index>,
OuterFieldType: ?Sized,
OuterFieldType: HasPart<PluckedInner>,
OuterFieldType: PartialRefTarget<RawTarget = OuterFieldType>,
Reference: PartialRef<'a>,
Reference::Target: HasPart<ContainingPart>,
ContainingPart: ContainsNestedPart<PluckedOuter, NestedPartIndex>,
[src]
PluckedOuter: Part<PartType = Field<OuterFieldType>>,
PluckedInner: Part,
ContainingPart: Part<PartType = Field<ContainingFieldType>>,
ContainingFieldType: SplitIntoParts<'a, ContainingPart, Reference>,
ContainingFieldType: ?Sized,
ContainingFieldType::ResultMut: PluckConst<'a, Nested<PluckedOuter, PluckedInner>, Index>,
OuterFieldType: ?Sized,
OuterFieldType: HasPart<PluckedInner>,
OuterFieldType: PartialRefTarget<RawTarget = OuterFieldType>,
Reference: PartialRef<'a>,
Reference::Target: HasPart<ContainingPart>,
ContainingPart: ContainsNestedPart<PluckedOuter, NestedPartIndex>,
(internal) Pluck a constant nested subpart of the constant first part.
impl<'a, ContainingPart, PluckedOuter, PluckedInner, Reference, NestedPartIndex, Index, OuterFieldType, ContainingFieldType> PluckMut<'a, Nested<PluckedOuter, PluckedInner>, IndexSplit<NestedPartIndex, Index>> for Mut<ContainingPart, Reference> where
PluckedOuter: Part<PartType = Field<OuterFieldType>>,
PluckedInner: Part,
ContainingPart: Part<PartType = Field<ContainingFieldType>>,
ContainingFieldType: SplitIntoParts<'a, ContainingPart, Reference>,
ContainingFieldType: ?Sized,
ContainingFieldType::ResultMut: PluckMut<'a, Nested<PluckedOuter, PluckedInner>, Index>,
OuterFieldType: ?Sized,
OuterFieldType: HasPart<PluckedInner>,
OuterFieldType: PartialRefTarget<RawTarget = OuterFieldType>,
Reference: PartialRef<'a>,
Reference::Target: HasPart<ContainingPart>,
ContainingPart: ContainsNestedPart<PluckedOuter, NestedPartIndex>,
[src]
PluckedOuter: Part<PartType = Field<OuterFieldType>>,
PluckedInner: Part,
ContainingPart: Part<PartType = Field<ContainingFieldType>>,
ContainingFieldType: SplitIntoParts<'a, ContainingPart, Reference>,
ContainingFieldType: ?Sized,
ContainingFieldType::ResultMut: PluckMut<'a, Nested<PluckedOuter, PluckedInner>, Index>,
OuterFieldType: ?Sized,
OuterFieldType: HasPart<PluckedInner>,
OuterFieldType: PartialRefTarget<RawTarget = OuterFieldType>,
Reference: PartialRef<'a>,
Reference::Target: HasPart<ContainingPart>,
ContainingPart: ContainsNestedPart<PluckedOuter, NestedPartIndex>,
(internal) Pluck a mutable nested subpart of the mutable first part.
This leaves all other subparts in the remaining reference.
Auto Trait Implementations
impl<NestedPartIndex, Index> RefUnwindSafe for IndexSplit<NestedPartIndex, Index> where
Index: RefUnwindSafe,
NestedPartIndex: RefUnwindSafe,
Index: RefUnwindSafe,
NestedPartIndex: RefUnwindSafe,
impl<NestedPartIndex, Index> Send for IndexSplit<NestedPartIndex, Index> where
Index: Send,
NestedPartIndex: Send,
Index: Send,
NestedPartIndex: Send,
impl<NestedPartIndex, Index> Sync for IndexSplit<NestedPartIndex, Index> where
Index: Sync,
NestedPartIndex: Sync,
Index: Sync,
NestedPartIndex: Sync,
impl<NestedPartIndex, Index> Unpin for IndexSplit<NestedPartIndex, Index> where
Index: Unpin,
NestedPartIndex: Unpin,
Index: Unpin,
NestedPartIndex: Unpin,
impl<NestedPartIndex, Index> UnwindSafe for IndexSplit<NestedPartIndex, Index> where
Index: UnwindSafe,
NestedPartIndex: UnwindSafe,
Index: UnwindSafe,
NestedPartIndex: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<Reference, Outer, OuterFieldType, Inner> HasPart<Nested<Outer, Inner>> for Reference where
Inner: Part,
Outer: Part<PartType = Field<OuterFieldType>>,
OuterFieldType: HasPart<Inner, RawTarget = OuterFieldType> + PartialRefTarget + ?Sized,
Reference: HasPart<Outer> + ?Sized,
[src]
Inner: Part,
Outer: Part<PartType = Field<OuterFieldType>>,
OuterFieldType: HasPart<Inner, RawTarget = OuterFieldType> + PartialRefTarget + ?Sized,
Reference: HasPart<Outer> + ?Sized,
unsafe fn part_ptr(
*const <Reference as PartialRefTarget>::RawTarget
) -> <<Inner as Part>::PartType as PartType>::Ptr
[src]
*const <Reference as PartialRefTarget>::RawTarget
) -> <<Inner as Part>::PartType as PartType>::Ptr
unsafe fn part_ptr_mut(
*mut <Reference as PartialRefTarget>::RawTarget
) -> <<Inner as Part>::PartType as PartType>::PtrMut
[src]
*mut <Reference as PartialRefTarget>::RawTarget
) -> <<Inner as Part>::PartType as PartType>::PtrMut
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,