# const int[E.max] array; # # enum E{ # A = 1, # B, # C # } # # int main(){ # static if(E.max == 3){ # static if(array.length == 3){ # return 0; # } # } # } test cases: http://dstress.kuehne.cn/run/e/enum_43_A.d http://dstress.kuehne.cn/run/e/enum_43_B.d http://dstress.kuehne.cn/run/e/enum_43_G.d http://dstress.kuehne.cn/run/e/enum_43_H.d
No longer segfaults on DMD1.042 and 2.027 -- now generates a "forward reference" error message. This is still a regression.
Then don't just delete the keyword - assign the correct one!
(In reply to comment #2) > Then don't just delete the keyword - assign the correct one! > I thought of doing that, but 'regression' normally applies to valid code. Regression of invalid code is a hundred times less serious. So I added the 'regression' to the description, rather than the severity.
Works for DMD 2.032 here, but not for DMD 1.047
The fact that it doesn't work on D1 isn't actually a regression. The regression was fixed in 1.021-1.023. It never actually worked on D1. Here's the full behaviour: Segfault on 0.140, forward reference error 0.150-1.010, segfault 1.013-1.020, forward reference error 1.023-present. Segfault 2.000, forward reference 2.012-2.030, works 2.031- present. Downgrading to normal.
Compiles since as of 2.068 ... maybe even sooner
(In reply to Stefan Koch from comment #6) > Compiles since as of 2.068 ... maybe even sooner You seem to have missed the "(D1 only)" part. Reopening. (It may be time to just close all D1 bugs as WONTFIX, though.)
As per Dconf AGM, all D1 that do not manifest in D2 bugs shall be closed.