https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118463
Patrick Palka <ppalka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ppalka at gcc dot gnu.org Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #3 from Patrick Palka <ppalka at gcc dot gnu.org> --- I believe the original example is essentially IFNDR and it's a good thing that GCC diagnoses it proactively. The requirement k<T>(); will always fail for every choice of T because there is no declaration of k visible to the template, and the call isn't eligible for ADL since there's no arguments.