17464, "bradcray", "Add support for ranges over enums with a single value", "2021-03-25T22:41:18Z"
Summary of Problem
Given an enum with a single value:
enum color { red };
ranges over that enum don't currently work:
const r = color.red..color.red;
The root cause of this is that we don't have a good way to represent an empty range over the enum type since we usually use two distinct values to represent the empty range (e.g., [the 1st element in the enum]..[the 0th element in the enum]
). But in cases where we require no default initialization (like tests 2 and 3 below), should this actually be a problem?
Associated Future Test(s):
test/types/range/enum/singleValEnum.chpl
#13655
test/types/range/enum/singleValEnum2.chpl
#13655
test/types/range/enum/singleValEnum3.chpl
#TODO
Configuration Information
- Output of
chpl --version
:chpl version 1.25.0 pre-release (cf3ecc7466)