www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 2777] New: alias this doesn't forward __dollar and slice op.

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

           Summary: alias this doesn't forward __dollar and slice op.
           Product: D
           Version: 2.027
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: dsimcha yahoo.com


import std.stdio;
struct ArrayWrapper(T) {
    T[] array;
    alias array this;
}

void main() {
    ArrayWrapper!(uint) foo;
    foo.length = 5;  // Works
    foo[0] = 1;      // Works
    writeln(foo[0]);  // Works
    writeln(foo[$ - 1]);  // Error:  undefined identifier __dollar
    writeln(foo[0..2]);  // Error:  ArrayWrapper!(uint) cannot be sliced with
[]
}


-- 
Apr 01 2009