// Build don't link: template struct X { A operator[] (int); }; template A X::operator[] (int i) { return A(); // gets bogus error } X x;