Expand description
A converter trait
for origin types.
Can be amalgamated into tuples. If any of the tuple elements returns Ok(_)
, it short circuits. Else, the Err(_)
of the last tuple item is returned. Each intermediate Err(_)
might return a different origin
of type Origin
which is passed to the next convert item.
struct BumpParaId;
impl ConvertOrigin<u32> for BumpParaId {
fn convert_origin(origin: impl Into<MultiLocation>, _: OriginKind) -> Result<u32, MultiLocation> {
match origin.into() {
MultiLocation { parents: 0, interior: Junctions::X1(Junction::Parachain(id)) } => {
Err(Junctions::X1(Junction::Parachain(id + 1)).into())
}
_ => unreachable!()
}
}
}
struct AcceptPara7;
impl ConvertOrigin<u32> for AcceptPara7 {
fn convert_origin(origin: impl Into<MultiLocation>, _: OriginKind) -> Result<u32, MultiLocation> {
match origin.into() {
MultiLocation { parents: 0, interior: Junctions::X1(Junction::Parachain(id)) } if id == 7 => {
Ok(7)
}
o => Err(o)
}
}
}
let origin: MultiLocation = Junctions::X1(Junction::Parachain(6)).into();
assert!(
<(BumpParaId, AcceptPara7) as ConvertOrigin<u32>>::convert_origin(origin, OriginKind::Native)
.is_ok()
);
Attempt to convert origin
to the generic Origin
whilst consuming it.
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>, TupleElement23: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>, TupleElement23: ConvertOrigin<O>, TupleElement24: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>, TupleElement23: ConvertOrigin<O>, TupleElement24: ConvertOrigin<O>, TupleElement25: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>, TupleElement23: ConvertOrigin<O>, TupleElement24: ConvertOrigin<O>, TupleElement25: ConvertOrigin<O>, TupleElement26: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>, TupleElement23: ConvertOrigin<O>, TupleElement24: ConvertOrigin<O>, TupleElement25: ConvertOrigin<O>, TupleElement26: ConvertOrigin<O>, TupleElement27: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>, TupleElement23: ConvertOrigin<O>, TupleElement24: ConvertOrigin<O>, TupleElement25: ConvertOrigin<O>, TupleElement26: ConvertOrigin<O>, TupleElement27: ConvertOrigin<O>, TupleElement28: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27, TupleElement28)
impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>, TupleElement23: ConvertOrigin<O>, TupleElement24: ConvertOrigin<O>, TupleElement25: ConvertOrigin<O>, TupleElement26: ConvertOrigin<O>, TupleElement27: ConvertOrigin<O>, TupleElement28: ConvertOrigin<O>, TupleElement29: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27, TupleElement28, TupleElement29)