D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 10946 - Integer constant expression expected instead of...
Summary: Integer constant expression expected instead of...
Status: RESOLVED FIXED
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: All All
: P2 regression
Assignee: No Owner
URL:
Keywords: pull, rejects-valid
Depends on:
Blocks:
 
Reported: 2013-09-01 18:48 UTC by Era Scarecrow
Modified: 2013-09-01 23:42 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Era Scarecrow 2013-09-01 18:48:57 UTC
Known immutable named expression/variable not being accepted when it should be.
 Version: DMD32 D Compiler v2.063.2

 enum len = 4;
 alias e1 = immutable(char)[len];
 alias e2 = immutable(char[len]);  //fails, line 9
 alias immutable(char)[len]   e3;
 alias immutable(char[len])   e4;  //fails, line 11
 
 immutable ilen = 4;
 alias i1 = immutable(char)[ilen];
 alias i2 = immutable(char[ilen]); //fails, line 15
 alias immutable(char)[ilen]   i3;
 alias immutable(char[ilen])   i4; //fails, line 17


test.d(9): Error: Integer constant expression expected instead of len
test.d(11): Error: Integer constant expression expected instead of len
test.d(15): Error: Integer constant expression expected instead of ilen
test.d(17): Error: Integer constant expression expected instead of ilen
Comment 1 Kenji Hara 2013-09-01 19:59:54 UTC
That's a regression from 2.061, caused by the commit:
https://github.com/D-Programming-Language/dmd/commit/8c5610c3f1f3cdd5d263997230352e9991ce82a7

Compiler fix:
https://github.com/D-Programming-Language/dmd/pull/2512
Comment 2 github-bugzilla 2013-09-01 23:42:02 UTC
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/2a6e30fb5366310965abbc05e311849611cfcc70
[REG2.061] Issue 10946 - Integer constant expression expected instead of...

https://github.com/D-Programming-Language/dmd/commit/8755c697f44933db35d98dd9b49dbc48a413c066
Merge pull request #2512 from 9rnsr/fix10946

[REG2.061] Issue 10946 - Integer constant expression expected instead of...