// Build don't link: // Origin: Jakub Jelinek template struct foo { foo(); void c(); static void d(foo* x) { x->c(); } }; template struct bar { bar(); }; template struct baz { typedef foo t; t *e; baz(); ~baz() { t::d(e); } }; template void foo::c() { bar* x = (bar*)this; x->bar::~bar(); } void a(void) { baz b; }