http://d.puremagic.com/issues/show_bug.cgi?id=9100
--- Comment #1 from Kenji Hara <[email protected]> 2012-11-30 19:24:41 PST --- This is a root cause of some 2.061head regressions - bug 9091, bug 8972, and bug 8971. If you use __traits() to get member symbol inside class/struct member function, the found member symbol will have the implicit 'this'. Passing the __traits result to the template argument will caught the *bug* which I explained here. class C { int var; void test() { __traits(getMember, C, "var"); // same as this.var -> DotVarExp alias t = Id!(__traits(getMember, C, "var")); // same as Id!(this.var), hit! } } void main() { __traits(getMember, C, "var") // same as C.var == Just a symbol alias t = Id!(__traits(getMember, C, "var")); // same as Id!(C.var), no problem } Therefore, I think this is an important semantic analysis bug which should be fixed. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
