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

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Janez Zemva from comment #7)
> The c++17 type deduction rules are also going on. This makes me wonder how
> std::make_tuple() circumvents the problem.

Easy, it does not use the C++17 deduction rules at all, it is explict.

That is:
std::make_tuple is defined as:

template<typename ...T>
auto make_tuple(const T &...a)
{
  return std::tuple<T...>(a...);
}

And there is no C++17 class deduction rules going on, it is pure normal C++11
template function deduction rules.

Reply via email to