www.digitalmars.com         C & C++   DMDScript  

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

reply d-bugmail puremagic.com writes:
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 digitalmars.com
        ReportedBy: ludwig 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


-- 
Feb 27 2008
parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1874


bugzilla digitalmars.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Comment #1 from bugzilla digitalmars.com  2008-03-07 00:36 -------
Fixed dmd 2.012


-- 
Mar 06 2008