[Issue 5604] New: Clarify whether this is a bug or a feature

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Feb 17 08:33:09 PST 2011


http://d.puremagic.com/issues/show_bug.cgi?id=5604

           Summary: Clarify whether this is a bug or a feature
           Product: D
           Version: D2
          Platform: Other
        OS/Version: Windows
            Status: NEW
          Keywords: spec
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: dsimcha at yahoo.com


--- Comment #0 from David Simcha <dsimcha at yahoo.com> 2011-02-17 08:30:33 PST ---
The following code compiles in 64-bit mode and arguably shouldn't (but arguably
should).  

void main() {
    int[] foo;
    foreach(uint i, elem; foo) {}
}

The index variable into foo is technically a size_t, not a uint.  On the other
hand this is arguably a feature.  The idiomatic way to write a foreach loop is
with implicit variable typing.  The insertion of an explicit type is, IMHO,
equivalent to using an explicit cast, and therefore it arguably should compile.

Personally, I prefer this to be considered a feature rather than a bug, but
either way I think it's important that the spec be clarified, as I've used this
idiom in several places when porting code to 64-bit.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list