New Issue: Unbounded ranges vs. bounded ranges with max bounds

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