// { dg-do assemble } // Origin: Mathias Doreille template struct a { struct b { T operator()(); }; }; template T a::b::operator()() { return T(0); } template<> int a::b::operator()() { return 1; }