template struct M {}; template void f(T &t); template <> void f(int &t) { typedef M VType; VType p0; // break here } int main() { int x; f(x); return 0; }