coremem_types: compound: extend List constructor to 8 elements

This commit is contained in:
2022-07-20 02:35:33 -07:00
parent 79ac2c0a0d
commit 04def2149d

View File

@@ -36,17 +36,26 @@ trait ListBuilderOps {
impl<E0> ListBuilderOps for ListBuilder<(E0,)> {
type Result = LLNode<E0, Null>;
}
impl<E0, E1> ListBuilderOps for ListBuilder<(E0, E1)> {
type Result = LLNode<E0, <ListBuilder<(E1,)> as ListBuilderOps>::Result>;
type Result = LLNode<E0, List<(E1,)>>;
}
impl<E0, E1, E2> ListBuilderOps for ListBuilder<(E0, E1, E2)> {
type Result = LLNode<E0, <ListBuilder<(E1, E2)> as ListBuilderOps>::Result>;
type Result = LLNode<E0, List<(E1, E2)>>;
}
impl<E0, E1, E2, E3> ListBuilderOps for ListBuilder<(E0, E1, E2, E3)> {
type Result = LLNode<E0, <ListBuilder<(E1, E2, E3)> as ListBuilderOps>::Result>;
type Result = LLNode<E0, List<(E1, E2, E3)>>;
}
impl<E0, E1, E2, E3, E4> ListBuilderOps for ListBuilder<(E0, E1, E2, E3, E4)> {
type Result = LLNode<E0, List<(E1, E2, E3, E4)>>;
}
impl<E0, E1, E2, E3, E4, E5> ListBuilderOps for ListBuilder<(E0, E1, E2, E3, E4, E5)> {
type Result = LLNode<E0, List<(E1, E2, E3, E4, E5)>>;
}
impl<E0, E1, E2, E3, E4, E5, E6> ListBuilderOps for ListBuilder<(E0, E1, E2, E3, E4, E5, E6)> {
type Result = LLNode<E0, List<(E1, E2, E3, E4, E5, E6)>>;
}
impl<E0, E1, E2, E3, E4, E5, E6, E7> ListBuilderOps for ListBuilder<(E0, E1, E2, E3, E4, E5, E6, E7)> {
type Result = LLNode<E0, List<(E1, E2, E3, E4, E5, E6, E7)>>;
}
/// implemented on a list to allow applying some function `F` to any (or all) elements of the list.