Every member of the enum T, in declaration order, as a list for @cases:
Color :: enum { RED; GREEN; BLUE; }
values := all_values(Color);
assert(values.count == 3);
assert(values[0] == .RED && values[2] == .BLUE);Pass it to a test as @cases(all_values(Color)). The array is in temporary storage, so it lasts for the test that asked for it.
- $T: the enum type.
all_values :: ($T: Type) -> [] T
Every member of the enum T, in declaration order, as a list for @cases:
Pass it to a test as @cases(all_values(Color)). The array is in temporary storage, so it lasts for the test that asked for it.
Parameters
- $T: Type
- the enum type.
Returns
- [] T
Color :: enum { RED; GREEN; BLUE; }
values := all_values(Color);
assert(values.count == 3);
assert(values[0] == .RED && values[2] == .BLUE);