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

--- Comment #1 from Arsen Arsenović <arsen at gcc dot gnu.org> ---
related code (folly/Traits.h)


  #if FOLLY_HAS_BUILTIN(__type_pack_element)

  template <std::size_t I, typename... Ts>
  using type_pack_element_t = __type_pack_element<I, Ts...>;

  #else

  template <std::size_t I, typename... Ts>
  using type_pack_element_t = traits_detail::type_pack_element_fallback<I,
Ts...>;

  #endif

it is what it says on the tin :)

do we want to match what clang does here?  that being:

~ 1 $ clang++ -x c++ - -S -o - <<<$'template<class... T> void
FOOBAR(__type_pack_element<4, T...>&&) {} void g() { FOOBAR<int, int, int, int,
double>(3.0); }' | grep FOOBAR
        callq   _Z6FOOBARIJiiiidEEvO19__type_pack_elementILm4EJDpT_EE

... not the prettiest

Reply via email to