17084, “vasslitvinov”, “Unbounded ranges vs. bounded ranges with max bounds”, “2021-02-04T04:59:57Z”
If I have an unbounded range, should it behave the same way as a bounded range with maximum bounds?
- for integer index types?
- for enum or bool index types?
For example: // note this may also hit #13717
var r1 = ..;
var r2 = min(int)..max(int);
writeln(r1 == r2); // writes "false"
More interestingly, how about ranges over booleans or enums?
Is the current behavior here the right one?
var r1 = false .. true; // bounded
var r2 = false .. ; // boundedLow
writeln(r1 == r2); // prints "false"
for rr in r2 do writeln(rr); // prints "true" infinitely