According to clauses 7.3.3 ; 4 and 14.5.2 ; 7, the using declaration below should elicit a diagnostic, since template conversion function specializations are not supposed to be found by name lookup.
struct B { template < class T > operator T (); }; struct D: B { using B::operator int; }; -- Summary: template conversion specialization found by using declaration Product: gcc Version: 4.2.0 Status: UNCONFIRMED Keywords: accepts-invalid Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: amylaar at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29027