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

--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I think this is the same bug, reduced from Bug 100667 comment 1 (where it
wasn't related):

struct allocator_arg_t { explicit allocator_arg_t() = default; };
class string{};
class Foo{};

struct tuple
{
  template<typename Alloc>
    tuple(allocator_arg_t, const Alloc&) { }

  template<typename = void>
  tuple(const string&, const Foo&) { }
};

tuple bar()
{
    return { {}, Foo{}};
}


Clang and EDG accept this.

Reply via email to