Expand description
A common trait for the ability to explicitly duplicate an object.
Differs from Copy
in that Copy
is implicit and extremely
inexpensive, while PClone
is always explicit and may or may not be
expensive. Its difference with Clone
is that it a &
Journal
to be
used for logging in Prc
and Parc
. In order to enforce these
characteristics, Rust does not allow you to reimplement Copy
, but you
may reimplement Clone
and PClone
and run arbitrary code.
Since PClone
is more general than Copy
, you can automatically make
anything Copy
be Clone
as well.
This trait can be used with #[derive]
if all fields are PClone
. The
derive
d implementation of PClone
calls pclone
on each field. It
uses default::Allocator
by default. It is possible to change the pool
type(s) by using pools()
attribute.
For a generic struct, #[derive]
implements PClone
conditionally by
adding bound Clone
on generic parameters.
#[derive(PClone)]
struct Reading<T> {
frequency: T,
}
#[derive(PClone)]
#[pools(P,Q)]
struct Reading<T> {
frequency: T,
}
Types that are Copy
should have a trivial implementation of PClone
.
More formally: if T: Copy
, x: T
, and y: &T
, then let x = y.pclone();
is equivalent to let x = *y;
. Manual implementations should be careful to
uphold this invariant; however, unsafe code must not rely on it to ensure
memory safety. Note that, the implementation should be done for a specific
(or generic) pool type.
Performs copy-assignment from source
.
a.clone_from(&b)
is equivalent to a = b.clone()
in functionality,
but can be overridden to reuse the resources of a
to avoid unnecessary
allocations.
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>, TupleElement17: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>, TupleElement17: PClone<A>, TupleElement18: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>, TupleElement17: PClone<A>, TupleElement18: PClone<A>, TupleElement19: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>, TupleElement17: PClone<A>, TupleElement18: PClone<A>, TupleElement19: PClone<A>, TupleElement20: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>, TupleElement17: PClone<A>, TupleElement18: PClone<A>, TupleElement19: PClone<A>, TupleElement20: PClone<A>, TupleElement21: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>, TupleElement17: PClone<A>, TupleElement18: PClone<A>, TupleElement19: PClone<A>, TupleElement20: PClone<A>, TupleElement21: PClone<A>, TupleElement22: PClone<A>> PClone<A> for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>, TupleElement17: PClone<A>, TupleElement18: PClone<A>, TupleElement19: PClone<A>, TupleElement20: PClone<A>, TupleElement21: PClone<A>, TupleElement22: PClone<A>, TupleElement23: PClone<A>> PClone<A> 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)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>, TupleElement17: PClone<A>, TupleElement18: PClone<A>, TupleElement19: PClone<A>, TupleElement20: PClone<A>, TupleElement21: PClone<A>, TupleElement22: PClone<A>, TupleElement23: PClone<A>, TupleElement24: PClone<A>> PClone<A> 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)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>, TupleElement17: PClone<A>, TupleElement18: PClone<A>, TupleElement19: PClone<A>, TupleElement20: PClone<A>, TupleElement21: PClone<A>, TupleElement22: PClone<A>, TupleElement23: PClone<A>, TupleElement24: PClone<A>, TupleElement25: PClone<A>> PClone<A> 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)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>, TupleElement17: PClone<A>, TupleElement18: PClone<A>, TupleElement19: PClone<A>, TupleElement20: PClone<A>, TupleElement21: PClone<A>, TupleElement22: PClone<A>, TupleElement23: PClone<A>, TupleElement24: PClone<A>, TupleElement25: PClone<A>, TupleElement26: PClone<A>> PClone<A> 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)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>, TupleElement17: PClone<A>, TupleElement18: PClone<A>, TupleElement19: PClone<A>, TupleElement20: PClone<A>, TupleElement21: PClone<A>, TupleElement22: PClone<A>, TupleElement23: PClone<A>, TupleElement24: PClone<A>, TupleElement25: PClone<A>, TupleElement26: PClone<A>, TupleElement27: PClone<A>> PClone<A> 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)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>, TupleElement17: PClone<A>, TupleElement18: PClone<A>, TupleElement19: PClone<A>, TupleElement20: PClone<A>, TupleElement21: PClone<A>, TupleElement22: PClone<A>, TupleElement23: PClone<A>, TupleElement24: PClone<A>, TupleElement25: PClone<A>, TupleElement26: PClone<A>, TupleElement27: PClone<A>, TupleElement28: PClone<A>> PClone<A> 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)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>, TupleElement17: PClone<A>, TupleElement18: PClone<A>, TupleElement19: PClone<A>, TupleElement20: PClone<A>, TupleElement21: PClone<A>, TupleElement22: PClone<A>, TupleElement23: PClone<A>, TupleElement24: PClone<A>, TupleElement25: PClone<A>, TupleElement26: PClone<A>, TupleElement27: PClone<A>, TupleElement28: PClone<A>, TupleElement29: PClone<A>> PClone<A> 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)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>, TupleElement17: PClone<A>, TupleElement18: PClone<A>, TupleElement19: PClone<A>, TupleElement20: PClone<A>, TupleElement21: PClone<A>, TupleElement22: PClone<A>, TupleElement23: PClone<A>, TupleElement24: PClone<A>, TupleElement25: PClone<A>, TupleElement26: PClone<A>, TupleElement27: PClone<A>, TupleElement28: PClone<A>, TupleElement29: PClone<A>, TupleElement30: PClone<A>> PClone<A> 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, TupleElement30)
sourceimpl<A: MemPool, TupleElement0: PClone<A>, TupleElement1: PClone<A>, TupleElement2: PClone<A>, TupleElement3: PClone<A>, TupleElement4: PClone<A>, TupleElement5: PClone<A>, TupleElement6: PClone<A>, TupleElement7: PClone<A>, TupleElement8: PClone<A>, TupleElement9: PClone<A>, TupleElement10: PClone<A>, TupleElement11: PClone<A>, TupleElement12: PClone<A>, TupleElement13: PClone<A>, TupleElement14: PClone<A>, TupleElement15: PClone<A>, TupleElement16: PClone<A>, TupleElement17: PClone<A>, TupleElement18: PClone<A>, TupleElement19: PClone<A>, TupleElement20: PClone<A>, TupleElement21: PClone<A>, TupleElement22: PClone<A>, TupleElement23: PClone<A>, TupleElement24: PClone<A>, TupleElement25: PClone<A>, TupleElement26: PClone<A>, TupleElement27: PClone<A>, TupleElement28: PClone<A>, TupleElement29: PClone<A>, TupleElement30: PClone<A>, TupleElement31: PClone<A>> PClone<A> 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, TupleElement30, TupleElement31)