//---- void main() { enum a = 0; enum b = 1; enum c = 2; static assert(b < a && a < b && b < c); } //---- This creates: //---- Error: static assert (false && 1 < 2) is false //---- This is not helpful at all.
Related to Issue 5004 ?
I think they are both ER on a same feature, yes, but the "root issue" seems completely different. 5004 is about aliases. This is about which value you actually show when the assert is triggered.
The original expression is maintained now Error: static assert: `1 < 0 && (a < b) && (b < c)` is false