[Issue 1918] __traits(getVirtualFunctions) returns final functions

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun Jan 22 00:14:27 PST 2012


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


Jonathan M Davis <jmdavisProg at gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jmdavisProg at gmx.com


--- Comment #6 from Jonathan M Davis <jmdavisProg at gmx.com> 2012-01-22 00:14:21 PST ---
Why would it be useful to have a non-virtual function listed as a virtual
function? Because that's what you're doing when mark a function which doesn't
override anything final. It's _not_ in any kind of override chain.

Imagine for a moment that private functions become virtual by default like TDPL
says (which I still hopes doesn't happen, since it'll be a major blow to the
efficiency of the language) and final functions which didn't override anything
were listed as virtual functions, pretty much _every_ function would then be
returned by getVirtualFunctions.

If you're using getVirtualFunctions or getVirtualMethods or whatever, then you
want the _virtual_ functions. As such, I see _zero_ reason to be returning
final functions which don't override anything, and so I see no reason to keep
getVirtualFunctions around.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list