http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56050
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2013-01-20
11:41:39 UTC ---
This is not a bug, it's called name hiding.
For d.to() the compiler does name lookup for "to" in the scope of derived and
finds a name, so it stops looking. Then overload resolution tries to match the
arguments to the function and fails.
You need to re-declare the names in the derived class so all overloaded names
are visible in the derived class.
using base::to;
using base::from;