https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90848
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |SUSPENDED Last reconfirmed| |2019-06-12 Summary|A recurring bug: Overeager |[DR 2189] surrogate call |application of conversion |template |to function pointer during | |overload resolution of call | |to function object | Ever confirmed|0 |1 --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to zhonghao from comment #0) > A bug report (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71117) complains > that GCC accepts the code: No, that's not what the bug report was about. The bug was that the first piece of code was not accepted, and that bug was fixed, and is still fixed. The behaviour for the code you showed didn't change, so there is no "recurring bug". As Richard Smith said in the other bug, GCC's behaviour seems superior. I believe this is the subject of https://wg21.link/cwg2189 so I'm suspending this.