// Test for hiding of used base functions when all the conversion sequences are | |
// equivalent, needed to avoid a regression on inherited default ctors. | |
struct A | |
{ | |
void f(short,int=0); | |
void g(char,int=0); | |
}; | |
struct B:A | |
{ | |
using A::f; | |
void f(short); | |
using A::g; | |
void g(short); | |
}; | |
int main() | |
{ | |
B().f(1); // OK, derived f hides base f for single arg | |
B().f(1,2); // OK, base f can still be called with two args | |
B().g(1); // { dg-error "" } signatures differ, ambiguous | |
} |