I get closer to the problem, and it seems to be a bug
Why? And how to solve it?
(plz don't mind the name)
You can start reading from bottom. And I'll try to explain something.
TupleNode
and TupleEnd
are tuple.
TupleNode<T1,TupleNode<T2>,TupleEnd>
Mapper
is Fn(A)->B
simply, MapperCollector<TMapper,CollectAsTuple>
is to map all element of tuple (consumed) and generate new one
(& tuple).into_tuple()
is to make tuple of ref like TupleNode<&T1,TupleNode<&T2>,TupleEnd>
Visitor is for iterating all elements in the tuple
components_to_container_ref_cell_s
is from tuple of T
into tuple of instance of RefCell<[RawVec<T>;ARCHETYPE_COUNT]>