[Issue 1874] New: __traits(allMembers, T) fails to list methods which only have non-mutating overloads

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Feb 27 00:32:09 PST 2008


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

           Summary: __traits(allMembers, T) fails to list methods which only
                    have non-mutating overloads
           Product: D
           Version: 2.011
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: ludwig at informatik.uni-luebeck.de


The method 'const_method' will not be listed by the allMembers trait.
At least one overload has to be present which has neither const or
invariant modifiers.


-------------------
class C {
        void mutating_method(){}

        const void const_method(){}

        void bastard_method(){}
        const void bastard_method(int){}
}

import std.stdio;

int main(){
        foreach( m; __traits(allMembers, C) )
                writefln(m);
        return 0;
}
-------------------

Output:
mutating_method
bastard_method
print
toString
toHash
opCmp
opEquals


-- 



More information about the Digitalmars-d-bugs mailing list