// [class.ambig]: A single function, object, type, or enumerator may be | |
// reached through more than one path through the DAG of base classes. This | |
// is not an ambiguity. | |
// Build don't link: | |
struct A { | |
typedef long T; | |
}; | |
struct B : public A { }; | |
struct C : public A { }; | |
struct D : public C , public B { | |
void f (T&); // gets bogus error - ambiguous lookup | |
}; |