library test.arrays;

type StructSmallArray = struct {
    a array<uint32, 2>;
};

type StructLargeArray = struct {
    a array<uint32, 100>;
};

type TableSmallArray = table {
    1: a array<uint32, 2>;
};

type TableLargeArray = table {
    1: a array<uint32, 100>;
};

type UnionSmallArray = strict union {
    1: a array<uint32, 2>;
};

type UnionLargeArray = strict union {
    1: a array<uint32, 100>;
};
