digitalmars.D.bugs - [Issue 1640] New: Can't slice array literal directly
- d-bugmail puremagic.com (23/23) Nov 04 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1640
- d-bugmail puremagic.com (6/6) Nov 04 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1640
- d-bugmail puremagic.com (8/8) Nov 04 2007 http://d.puremagic.com/issues/show_bug.cgi?id=1640
- d-bugmail puremagic.com (9/9) Sep 05 2008 http://d.puremagic.com/issues/show_bug.cgi?id=1640
http://d.puremagic.com/issues/show_bug.cgi?id=1640
Summary: Can't slice array literal directly
Product: D
Version: 1.022
Platform: All
OS/Version: All
Status: NEW
Keywords: rejects-valid
Severity: normal
Priority: P2
Component: DMD
AssignedTo: bugzilla digitalmars.com
ReportedBy: matti.niemenmaa+dbugzilla iki.fi
void main() {
int[] foo = [1,2,3][];
}
asdf.d(2): semicolon expected, not '['
void main() {
int[] foo = [1,2,3][0..1];
}
asdf.d(2): semicolon expected, not '['
asdf.d(2): found '..' when expecting ','
--
Nov 04 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1640 The array literal is parsed as an array initializer (which must be followed by a semicolon.) You can work around this quite easily: int[] foo = ([1,2,3])[0..1]; --
Nov 04 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1640 ------- I knew about this workaround, just forgot to mention it. The other, of course, is to do: int[] foo = [1,2,3]; foo = foo[0..1]; It's still a bug, though. --
Nov 04 2007
http://d.puremagic.com/issues/show_bug.cgi?id=1640
matti.niemenmaa+dbugzilla iki.fi changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
-------
Fixed in DMD 1.035, though not marked as such in the changelog.
--
Sep 05 2008









d-bugmail puremagic.com 