Trait jlrs::layout::valid_layout::ValidLayout [−][src]
pub unsafe trait ValidLayout { fn valid_layout(ty: Value<'_, '_>) -> bool; }
Expand description
Trait used to check if a Rust type and Julia type have matching layouts. All wrappers generated by JlrsReflect.jl derive this trait. In this case all fields are checked recursively to determine if the value can be unboxed as that type.
Required methods
fn valid_layout(ty: Value<'_, '_>) -> bool
fn valid_layout(ty: Value<'_, '_>) -> bool
Check if the layout of the implementor is compatible with the layout of ty
. This
argument is a Value
to account for the fact that a field type can be a Union
,
UnionAll
or Union{}
.
Implementations on Foreign Types
Implementors
impl<'scope, 'data, T: Clone + ValidLayout + Debug> ValidLayout for TypedArray<'scope, 'data, T>
impl<T1, T2> ValidLayout for Tuple2<T1, T2> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
impl<T1, T2, T3> ValidLayout for Tuple3<T1, T2, T3> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4> ValidLayout for Tuple4<T1, T2, T3, T4> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5> ValidLayout for Tuple5<T1, T2, T3, T4, T5> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6> ValidLayout for Tuple6<T1, T2, T3, T4, T5, T6> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7> ValidLayout for Tuple7<T1, T2, T3, T4, T5, T6, T7> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8> ValidLayout for Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9> ValidLayout for Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ValidLayout for Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> ValidLayout for Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> ValidLayout for Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> ValidLayout for Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> ValidLayout for Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> ValidLayout for Tuple15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> ValidLayout for Tuple16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> ValidLayout for Tuple17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> ValidLayout for Tuple18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
T18: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> ValidLayout for Tuple19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
T18: ValidLayout + Clone + Debug,
T19: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> ValidLayout for Tuple20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
T18: ValidLayout + Clone + Debug,
T19: ValidLayout + Clone + Debug,
T20: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> ValidLayout for Tuple21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
T18: ValidLayout + Clone + Debug,
T19: ValidLayout + Clone + Debug,
T20: ValidLayout + Clone + Debug,
T21: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> ValidLayout for Tuple22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
T18: ValidLayout + Clone + Debug,
T19: ValidLayout + Clone + Debug,
T20: ValidLayout + Clone + Debug,
T21: ValidLayout + Clone + Debug,
T22: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> ValidLayout for Tuple23<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
T18: ValidLayout + Clone + Debug,
T19: ValidLayout + Clone + Debug,
T20: ValidLayout + Clone + Debug,
T21: ValidLayout + Clone + Debug,
T22: ValidLayout + Clone + Debug,
T23: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> ValidLayout for Tuple24<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
T18: ValidLayout + Clone + Debug,
T19: ValidLayout + Clone + Debug,
T20: ValidLayout + Clone + Debug,
T21: ValidLayout + Clone + Debug,
T22: ValidLayout + Clone + Debug,
T23: ValidLayout + Clone + Debug,
T24: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> ValidLayout for Tuple25<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
T18: ValidLayout + Clone + Debug,
T19: ValidLayout + Clone + Debug,
T20: ValidLayout + Clone + Debug,
T21: ValidLayout + Clone + Debug,
T22: ValidLayout + Clone + Debug,
T23: ValidLayout + Clone + Debug,
T24: ValidLayout + Clone + Debug,
T25: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> ValidLayout for Tuple26<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
T18: ValidLayout + Clone + Debug,
T19: ValidLayout + Clone + Debug,
T20: ValidLayout + Clone + Debug,
T21: ValidLayout + Clone + Debug,
T22: ValidLayout + Clone + Debug,
T23: ValidLayout + Clone + Debug,
T24: ValidLayout + Clone + Debug,
T25: ValidLayout + Clone + Debug,
T26: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> ValidLayout for Tuple27<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
T18: ValidLayout + Clone + Debug,
T19: ValidLayout + Clone + Debug,
T20: ValidLayout + Clone + Debug,
T21: ValidLayout + Clone + Debug,
T22: ValidLayout + Clone + Debug,
T23: ValidLayout + Clone + Debug,
T24: ValidLayout + Clone + Debug,
T25: ValidLayout + Clone + Debug,
T26: ValidLayout + Clone + Debug,
T27: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> ValidLayout for Tuple28<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
T18: ValidLayout + Clone + Debug,
T19: ValidLayout + Clone + Debug,
T20: ValidLayout + Clone + Debug,
T21: ValidLayout + Clone + Debug,
T22: ValidLayout + Clone + Debug,
T23: ValidLayout + Clone + Debug,
T24: ValidLayout + Clone + Debug,
T25: ValidLayout + Clone + Debug,
T26: ValidLayout + Clone + Debug,
T27: ValidLayout + Clone + Debug,
T28: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> ValidLayout for Tuple29<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
T18: ValidLayout + Clone + Debug,
T19: ValidLayout + Clone + Debug,
T20: ValidLayout + Clone + Debug,
T21: ValidLayout + Clone + Debug,
T22: ValidLayout + Clone + Debug,
T23: ValidLayout + Clone + Debug,
T24: ValidLayout + Clone + Debug,
T25: ValidLayout + Clone + Debug,
T26: ValidLayout + Clone + Debug,
T27: ValidLayout + Clone + Debug,
T28: ValidLayout + Clone + Debug,
T29: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> ValidLayout for Tuple30<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
T18: ValidLayout + Clone + Debug,
T19: ValidLayout + Clone + Debug,
T20: ValidLayout + Clone + Debug,
T21: ValidLayout + Clone + Debug,
T22: ValidLayout + Clone + Debug,
T23: ValidLayout + Clone + Debug,
T24: ValidLayout + Clone + Debug,
T25: ValidLayout + Clone + Debug,
T26: ValidLayout + Clone + Debug,
T27: ValidLayout + Clone + Debug,
T28: ValidLayout + Clone + Debug,
T29: ValidLayout + Clone + Debug,
T30: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> ValidLayout for Tuple31<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
T18: ValidLayout + Clone + Debug,
T19: ValidLayout + Clone + Debug,
T20: ValidLayout + Clone + Debug,
T21: ValidLayout + Clone + Debug,
T22: ValidLayout + Clone + Debug,
T23: ValidLayout + Clone + Debug,
T24: ValidLayout + Clone + Debug,
T25: ValidLayout + Clone + Debug,
T26: ValidLayout + Clone + Debug,
T27: ValidLayout + Clone + Debug,
T28: ValidLayout + Clone + Debug,
T29: ValidLayout + Clone + Debug,
T30: ValidLayout + Clone + Debug,
T31: ValidLayout + Clone + Debug,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32> ValidLayout for Tuple32<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32> where
T1: ValidLayout + Clone + Debug,
T2: ValidLayout + Clone + Debug,
T3: ValidLayout + Clone + Debug,
T4: ValidLayout + Clone + Debug,
T5: ValidLayout + Clone + Debug,
T6: ValidLayout + Clone + Debug,
T7: ValidLayout + Clone + Debug,
T8: ValidLayout + Clone + Debug,
T9: ValidLayout + Clone + Debug,
T10: ValidLayout + Clone + Debug,
T11: ValidLayout + Clone + Debug,
T12: ValidLayout + Clone + Debug,
T13: ValidLayout + Clone + Debug,
T14: ValidLayout + Clone + Debug,
T15: ValidLayout + Clone + Debug,
T16: ValidLayout + Clone + Debug,
T17: ValidLayout + Clone + Debug,
T18: ValidLayout + Clone + Debug,
T19: ValidLayout + Clone + Debug,
T20: ValidLayout + Clone + Debug,
T21: ValidLayout + Clone + Debug,
T22: ValidLayout + Clone + Debug,
T23: ValidLayout + Clone + Debug,
T24: ValidLayout + Clone + Debug,
T25: ValidLayout + Clone + Debug,
T26: ValidLayout + Clone + Debug,
T27: ValidLayout + Clone + Debug,
T28: ValidLayout + Clone + Debug,
T29: ValidLayout + Clone + Debug,
T30: ValidLayout + Clone + Debug,
T31: ValidLayout + Clone + Debug,
T32: ValidLayout + Clone + Debug,