// Simple smoke test to see that the demangler is actually working namespace abc { template class def { public: T1 xyzzy(T1 *p, T2 *) { return *p ? 10 : 20; } }; }; template class magic { public: T xyzzy(T *p) { return (new abc::def)->xyzzy(p, 0); } }; int main() { magic *c = new magic; c->xyzzy(new int); return 0; }