template struct super { int Y; void foo(); }; template struct test : virtual super {}; extern test X; void foo() { X.foo(); }