[][src]Trait structural::field::multi_fields::RevMoveOutMultiFieldImpl

pub unsafe trait RevMoveOutMultiFieldImpl<This>: RevIntoMultiFieldImpl<This> {
    unsafe fn rev_move_out_multi_field(
        self,
        this: &mut This,
        moved: &mut MovedOutFields
    ) -> Self::UnnormIntoFields; }

Moves out mutiple fields from This.

This is used by implementors of the RevIntoMultiFieldImpl trait from 9 up to 64 fields.

Safety

Implementors must ensure that all the fields moved out of This are unique, meaning that no field is moved out more than once.

Required methods

unsafe fn rev_move_out_multi_field(
    self,
    this: &mut This,
    moved: &mut MovedOutFields
) -> Self::UnnormIntoFields

Moves out multiple fields from this

Loading content...

Implementors

impl<'a, This> RevMoveOutMultiFieldImpl<This> for FieldPathSet<(), UniquePaths>[src]

impl<'a, This, F0, E0, T0> RevMoveOutMultiFieldImpl<This> for FieldPathSet<(F0,), UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr
[src]

impl<'a, This, F0, E0, T0> RevMoveOutMultiFieldImpl<This> for FieldPathSet<SmallPathSet<(F0,)>, UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr
[src]

impl<'a, This, F0, E0, T0, F1, E1, T1> RevMoveOutMultiFieldImpl<This> for FieldPathSet<(F0, F1), UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr,
    F1: RevMoveOutFieldImpl<This, Ty = T1, Err = E1>,
    Result<T1, E1>: NormalizeFields,
    E1: IsFieldErr
[src]

impl<'a, This, F0, E0, T0, F1, E1, T1> RevMoveOutMultiFieldImpl<This> for FieldPathSet<SmallPathSet<(F0, F1)>, UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr,
    F1: RevMoveOutFieldImpl<This, Ty = T1, Err = E1>,
    Result<T1, E1>: NormalizeFields,
    E1: IsFieldErr
[src]

impl<'a, This, F0, E0, T0, F1, E1, T1, F2, E2, T2> RevMoveOutMultiFieldImpl<This> for FieldPathSet<(F0, F1, F2), UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr,
    F1: RevMoveOutFieldImpl<This, Ty = T1, Err = E1>,
    Result<T1, E1>: NormalizeFields,
    E1: IsFieldErr,
    F2: RevMoveOutFieldImpl<This, Ty = T2, Err = E2>,
    Result<T2, E2>: NormalizeFields,
    E2: IsFieldErr
[src]

impl<'a, This, F0, E0, T0, F1, E1, T1, F2, E2, T2> RevMoveOutMultiFieldImpl<This> for FieldPathSet<SmallPathSet<(F0, F1, F2)>, UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr,
    F1: RevMoveOutFieldImpl<This, Ty = T1, Err = E1>,
    Result<T1, E1>: NormalizeFields,
    E1: IsFieldErr,
    F2: RevMoveOutFieldImpl<This, Ty = T2, Err = E2>,
    Result<T2, E2>: NormalizeFields,
    E2: IsFieldErr
[src]

impl<'a, This, F0, E0, T0, F1, E1, T1, F2, E2, T2, F3, E3, T3> RevMoveOutMultiFieldImpl<This> for FieldPathSet<(F0, F1, F2, F3), UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr,
    F1: RevMoveOutFieldImpl<This, Ty = T1, Err = E1>,
    Result<T1, E1>: NormalizeFields,
    E1: IsFieldErr,
    F2: RevMoveOutFieldImpl<This, Ty = T2, Err = E2>,
    Result<T2, E2>: NormalizeFields,
    E2: IsFieldErr,
    F3: RevMoveOutFieldImpl<This, Ty = T3, Err = E3>,
    Result<T3, E3>: NormalizeFields,
    E3: IsFieldErr
[src]

impl<'a, This, F0, E0, T0, F1, E1, T1, F2, E2, T2, F3, E3, T3> RevMoveOutMultiFieldImpl<This> for FieldPathSet<SmallPathSet<(F0, F1, F2, F3)>, UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr,
    F1: RevMoveOutFieldImpl<This, Ty = T1, Err = E1>,
    Result<T1, E1>: NormalizeFields,
    E1: IsFieldErr,
    F2: RevMoveOutFieldImpl<This, Ty = T2, Err = E2>,
    Result<T2, E2>: NormalizeFields,
    E2: IsFieldErr,
    F3: RevMoveOutFieldImpl<This, Ty = T3, Err = E3>,
    Result<T3, E3>: NormalizeFields,
    E3: IsFieldErr
[src]

impl<'a, This, F0, E0, T0, F1, E1, T1, F2, E2, T2, F3, E3, T3, F4, E4, T4> RevMoveOutMultiFieldImpl<This> for FieldPathSet<(F0, F1, F2, F3, F4), UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr,
    F1: RevMoveOutFieldImpl<This, Ty = T1, Err = E1>,
    Result<T1, E1>: NormalizeFields,
    E1: IsFieldErr,
    F2: RevMoveOutFieldImpl<This, Ty = T2, Err = E2>,
    Result<T2, E2>: NormalizeFields,
    E2: IsFieldErr,
    F3: RevMoveOutFieldImpl<This, Ty = T3, Err = E3>,
    Result<T3, E3>: NormalizeFields,
    E3: IsFieldErr,
    F4: RevMoveOutFieldImpl<This, Ty = T4, Err = E4>,
    Result<T4, E4>: NormalizeFields,
    E4: IsFieldErr
[src]

impl<'a, This, F0, E0, T0, F1, E1, T1, F2, E2, T2, F3, E3, T3, F4, E4, T4> RevMoveOutMultiFieldImpl<This> for FieldPathSet<SmallPathSet<(F0, F1, F2, F3, F4)>, UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr,
    F1: RevMoveOutFieldImpl<This, Ty = T1, Err = E1>,
    Result<T1, E1>: NormalizeFields,
    E1: IsFieldErr,
    F2: RevMoveOutFieldImpl<This, Ty = T2, Err = E2>,
    Result<T2, E2>: NormalizeFields,
    E2: IsFieldErr,
    F3: RevMoveOutFieldImpl<This, Ty = T3, Err = E3>,
    Result<T3, E3>: NormalizeFields,
    E3: IsFieldErr,
    F4: RevMoveOutFieldImpl<This, Ty = T4, Err = E4>,
    Result<T4, E4>: NormalizeFields,
    E4: IsFieldErr
[src]

impl<'a, This, F0, E0, T0, F1, E1, T1, F2, E2, T2, F3, E3, T3, F4, E4, T4, F5, E5, T5> RevMoveOutMultiFieldImpl<This> for FieldPathSet<(F0, F1, F2, F3, F4, F5), UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr,
    F1: RevMoveOutFieldImpl<This, Ty = T1, Err = E1>,
    Result<T1, E1>: NormalizeFields,
    E1: IsFieldErr,
    F2: RevMoveOutFieldImpl<This, Ty = T2, Err = E2>,
    Result<T2, E2>: NormalizeFields,
    E2: IsFieldErr,
    F3: RevMoveOutFieldImpl<This, Ty = T3, Err = E3>,
    Result<T3, E3>: NormalizeFields,
    E3: IsFieldErr,
    F4: RevMoveOutFieldImpl<This, Ty = T4, Err = E4>,
    Result<T4, E4>: NormalizeFields,
    E4: IsFieldErr,
    F5: RevMoveOutFieldImpl<This, Ty = T5, Err = E5>,
    Result<T5, E5>: NormalizeFields,
    E5: IsFieldErr
[src]

impl<'a, This, F0, E0, T0, F1, E1, T1, F2, E2, T2, F3, E3, T3, F4, E4, T4, F5, E5, T5> RevMoveOutMultiFieldImpl<This> for FieldPathSet<SmallPathSet<(F0, F1, F2, F3, F4, F5)>, UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr,
    F1: RevMoveOutFieldImpl<This, Ty = T1, Err = E1>,
    Result<T1, E1>: NormalizeFields,
    E1: IsFieldErr,
    F2: RevMoveOutFieldImpl<This, Ty = T2, Err = E2>,
    Result<T2, E2>: NormalizeFields,
    E2: IsFieldErr,
    F3: RevMoveOutFieldImpl<This, Ty = T3, Err = E3>,
    Result<T3, E3>: NormalizeFields,
    E3: IsFieldErr,
    F4: RevMoveOutFieldImpl<This, Ty = T4, Err = E4>,
    Result<T4, E4>: NormalizeFields,
    E4: IsFieldErr,
    F5: RevMoveOutFieldImpl<This, Ty = T5, Err = E5>,
    Result<T5, E5>: NormalizeFields,
    E5: IsFieldErr
[src]

impl<'a, This, F0, E0, T0, F1, E1, T1, F2, E2, T2, F3, E3, T3, F4, E4, T4, F5, E5, T5, F6, E6, T6> RevMoveOutMultiFieldImpl<This> for FieldPathSet<(F0, F1, F2, F3, F4, F5, F6), UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr,
    F1: RevMoveOutFieldImpl<This, Ty = T1, Err = E1>,
    Result<T1, E1>: NormalizeFields,
    E1: IsFieldErr,
    F2: RevMoveOutFieldImpl<This, Ty = T2, Err = E2>,
    Result<T2, E2>: NormalizeFields,
    E2: IsFieldErr,
    F3: RevMoveOutFieldImpl<This, Ty = T3, Err = E3>,
    Result<T3, E3>: NormalizeFields,
    E3: IsFieldErr,
    F4: RevMoveOutFieldImpl<This, Ty = T4, Err = E4>,
    Result<T4, E4>: NormalizeFields,
    E4: IsFieldErr,
    F5: RevMoveOutFieldImpl<This, Ty = T5, Err = E5>,
    Result<T5, E5>: NormalizeFields,
    E5: IsFieldErr,
    F6: RevMoveOutFieldImpl<This, Ty = T6, Err = E6>,
    Result<T6, E6>: NormalizeFields,
    E6: IsFieldErr
[src]

impl<'a, This, F0, E0, T0, F1, E1, T1, F2, E2, T2, F3, E3, T3, F4, E4, T4, F5, E5, T5, F6, E6, T6> RevMoveOutMultiFieldImpl<This> for FieldPathSet<SmallPathSet<(F0, F1, F2, F3, F4, F5, F6)>, UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr,
    F1: RevMoveOutFieldImpl<This, Ty = T1, Err = E1>,
    Result<T1, E1>: NormalizeFields,
    E1: IsFieldErr,
    F2: RevMoveOutFieldImpl<This, Ty = T2, Err = E2>,
    Result<T2, E2>: NormalizeFields,
    E2: IsFieldErr,
    F3: RevMoveOutFieldImpl<This, Ty = T3, Err = E3>,
    Result<T3, E3>: NormalizeFields,
    E3: IsFieldErr,
    F4: RevMoveOutFieldImpl<This, Ty = T4, Err = E4>,
    Result<T4, E4>: NormalizeFields,
    E4: IsFieldErr,
    F5: RevMoveOutFieldImpl<This, Ty = T5, Err = E5>,
    Result<T5, E5>: NormalizeFields,
    E5: IsFieldErr,
    F6: RevMoveOutFieldImpl<This, Ty = T6, Err = E6>,
    Result<T6, E6>: NormalizeFields,
    E6: IsFieldErr
[src]

impl<'a, This, F0, E0, T0, F1, E1, T1, F2, E2, T2, F3, E3, T3, F4, E4, T4, F5, E5, T5, F6, E6, T6, F7, E7, T7> RevMoveOutMultiFieldImpl<This> for FieldPathSet<(F0, F1, F2, F3, F4, F5, F6, F7), UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr,
    F1: RevMoveOutFieldImpl<This, Ty = T1, Err = E1>,
    Result<T1, E1>: NormalizeFields,
    E1: IsFieldErr,
    F2: RevMoveOutFieldImpl<This, Ty = T2, Err = E2>,
    Result<T2, E2>: NormalizeFields,
    E2: IsFieldErr,
    F3: RevMoveOutFieldImpl<This, Ty = T3, Err = E3>,
    Result<T3, E3>: NormalizeFields,
    E3: IsFieldErr,
    F4: RevMoveOutFieldImpl<This, Ty = T4, Err = E4>,
    Result<T4, E4>: NormalizeFields,
    E4: IsFieldErr,
    F5: RevMoveOutFieldImpl<This, Ty = T5, Err = E5>,
    Result<T5, E5>: NormalizeFields,
    E5: IsFieldErr,
    F6: RevMoveOutFieldImpl<This, Ty = T6, Err = E6>,
    Result<T6, E6>: NormalizeFields,
    E6: IsFieldErr,
    F7: RevMoveOutFieldImpl<This, Ty = T7, Err = E7>,
    Result<T7, E7>: NormalizeFields,
    E7: IsFieldErr
[src]

impl<'a, This, F0, E0, T0, F1, E1, T1, F2, E2, T2, F3, E3, T3, F4, E4, T4, F5, E5, T5, F6, E6, T6, F7, E7, T7> RevMoveOutMultiFieldImpl<This> for FieldPathSet<SmallPathSet<(F0, F1, F2, F3, F4, F5, F6, F7)>, UniquePaths> where
    This: DropFields,
    F0: RevMoveOutFieldImpl<This, Ty = T0, Err = E0>,
    Result<T0, E0>: NormalizeFields,
    E0: IsFieldErr,
    F1: RevMoveOutFieldImpl<This, Ty = T1, Err = E1>,
    Result<T1, E1>: NormalizeFields,
    E1: IsFieldErr,
    F2: RevMoveOutFieldImpl<This, Ty = T2, Err = E2>,
    Result<T2, E2>: NormalizeFields,
    E2: IsFieldErr,
    F3: RevMoveOutFieldImpl<This, Ty = T3, Err = E3>,
    Result<T3, E3>: NormalizeFields,
    E3: IsFieldErr,
    F4: RevMoveOutFieldImpl<This, Ty = T4, Err = E4>,
    Result<T4, E4>: NormalizeFields,
    E4: IsFieldErr,
    F5: RevMoveOutFieldImpl<This, Ty = T5, Err = E5>,
    Result<T5, E5>: NormalizeFields,
    E5: IsFieldErr,
    F6: RevMoveOutFieldImpl<This, Ty = T6, Err = E6>,
    Result<T6, E6>: NormalizeFields,
    E6: IsFieldErr,
    F7: RevMoveOutFieldImpl<This, Ty = T7, Err = E7>,
    Result<T7, E7>: NormalizeFields,
    E7: IsFieldErr
[src]

Loading content...