https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70106
--- Comment #2 from Patrick Palka <ppalka at gcc dot gnu.org> --- Oops, wrong reduction. struct A has to be a template. template <class T> struct A { int x; void foo () const { (A::x); }; }; void foo () { A<int> ().foo (); }