template struct Pair {}; struct Map : public Pair, Pair {}; template Value f(Pair*) { return Value(); } int main() { f((Map*)0); }