digitalmars.D.bugs - [Issue 1906] New: foreach cannot use index with large arrays
- d-bugmail puremagic.com (23/23) Mar 11 2008 http://d.puremagic.com/issues/show_bug.cgi?id=1906
- d-bugmail puremagic.com (6/6) Mar 11 2008 http://d.puremagic.com/issues/show_bug.cgi?id=1906
- d-bugmail puremagic.com (9/9) Mar 11 2008 http://d.puremagic.com/issues/show_bug.cgi?id=1906
- d-bugmail puremagic.com (9/9) May 11 2008 http://d.puremagic.com/issues/show_bug.cgi?id=1906
http://d.puremagic.com/issues/show_bug.cgi?id=1906 Summary: foreach cannot use index with large arrays Product: D Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: jlquinn optonline.net In D, array length is specified to be size_t, which allows for arrays up to the size of memory. However, the indexing form of foreach only permits an int or uint as the index variable. This will likely result in a silent bug used on an array w/ more than 4G elements in a 64 bit environment. For example: char[] x; x.length = 0x2_0000_0000L; // fill the array foreach (int i, char c; x) do_something(i, c); foreach should be able to support a size_t in the index variable location. --
Mar 11 2008
http://d.puremagic.com/issues/show_bug.cgi?id=1906 I put this bug against DMD, but it's really a language definition issue. It might make sense to provide a separate component to separate issues with the language spec from those with the compiler implementation. --
Mar 11 2008
http://d.puremagic.com/issues/show_bug.cgi?id=1906 kamm-removethis incasoftware.de changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |spec, wrong-code ------- I think language specification issues are usually filed against dmd and marked with the 'spec' keyword. --
Mar 11 2008
http://d.puremagic.com/issues/show_bug.cgi?id=1906 bugzilla digitalmars.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Fixed dmd 1.029 and 2.013 --
May 11 2008