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

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Oops, that was meant to be:

#ifdef __cpp_lib_type_identity // C++ >= 20
  /** * Identity metafunction.
   * @since C++20
   * @{
   */
  template<typename _Tp>
    struct type_identity { using type = _Tp; };

  template<typename _Tp>
    using type_identity_t = typename type_identity<_Tp>::type;
  /// @}

  template<typename _Tp>
    using __type_identity = type_identity<_Tp>;
  template<typename _Tp>
    using __type_identity_t = type_identity_t<_Tp>;
#else
  /// @cond undocumented
  template <typename _Type>
    using __type_identity
    { using type = _Type; };

  template<typename _Tp>
    using __type_identity_t = typename __type_identity<_Tp>::type;
#endif

But that messes up the @cond / @endcond nesting. Anyway, something like that.

Reply via email to