[Issue 390] New: Cannot forward reference enum nested in struct

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri Sep 29 17:40:27 PDT 2006


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

           Summary: Cannot forward reference enum nested in struct
           Product: D
           Version: 0.167
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: digitalmars-com at baysmith.com


$ dmd testStructEnum.d
testStructEnum.d(6): no property 'Id' for type 'Value'
testStructEnum.d(6): Value.Id is used as a type
testStructEnum.d(6): cannot have parameter of type void

$ dmd testStructEnum.d -version=works
gcc testStructEnum.o -o testStructEnum -m32 -lphobos -lpthread -lm -Xlinker
-L/home/bsmith/tools/d/dmd/lib
$ ./testStructEnum
1



----- testStructEnum.d -----
import std.stdio;

version(works) {
} else { // Doesn't work

  void f(Value.Id t) {
    writefln(cast(int)t);
  }

}

struct Value {
  public static enum Id {
    A,
    B
  }
}

version(works) {

  void f(Value.Id t) {
    writefln(cast(int)t);
  }

}

void main() {
  Value.Id t = Value.Id.B;
  f(t);
}
----------


-- 




More information about the Digitalmars-d-bugs mailing list