https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69005
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- I'll try your suggestion first though. In the real code we also use _Callable in the templated assignment operator, where the argument can be deduced as the class type, but that can be done differently too.