https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119034

Patrick Palka <ppalka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ppalka at gcc dot gnu.org

--- Comment #5 from Patrick Palka <ppalka at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #4)
> So the problem is not exactly an issue with ADL but rather an `overly strict
> use of deleted function before argument-dependent lookup`.
> 
> That is if I take the original testcase and remove `delete` and change the
> return type to int for the function foo inside bar; GCC works.
> 
> So this is another case of PR 68942.
Yep, looks like the partial instantiation version of that PR.  The error
happens when substituting the outer args {true} into the alias member template.

A minimal workaround is to use a function template for the deleted overload:

  template<class...> void func() = delete;

Reply via email to