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

           Summary: Alias this properties don't overload with non-alias this
                    properties.
           Product: D
           Version: 2.029
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzi...@digitalmars.com
        ReportedBy: dsim...@yahoo.com


struct ArrayWrapper {
    uint[] arr;

    alias arr this;

    void length(uint l) {};
}

void main() {
    ArrayWrapper aw;
    auto len = aw.length;
}

Errors:
C:\home\dsimcha\bin\test.d(10): Error: function test.ArrayWrapper.length (uint
l) does not match parameter types ()
C:\home\dsimcha\bin\test.d(10): Error: expected 1 function arguments, not 0
C:\home\dsimcha\bin\test.d(10): Error: variable test.main.len voids have no
value
C:\home\dsimcha\bin\test.d(10): Error: expression aw.length() is void and has
no value

If I comment out the length property in the ArrayWrapper struct, length gets
forwarded properly to arr and the code compiles.


-- 

Reply via email to