This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++20 status.

### 3042. `is_literal_type_v` should be inline

Section: D.15 [depr.meta.types] Status: C++20 Submitter: Tim Song Opened: 2017-12-06 Last modified: 2021-02-25

Priority: 0

View all other issues in [depr.meta.types].

View all issues with C++20 status.

Discussion:

P0607R0 forgot to look at D.15 [depr.meta.types] and make `is_literal_type_v` inline.

[ 2018-01-08 Moved to Tentatively Ready after 8 positive votes on c++std-lib. ]

[2018-3-17 Adopted in Jacksonville]

Proposed resolution:

This wording is relative to N4713.

1. Change D.15 [depr.meta.types]p1 as indicated:

   -1- The header `<type_traits>` has the following addition:

   >     namespace std {
   >       template<class T> struct is_literal_type;
   >       template<class T> inline constexpr bool is_literal_type_v = is_literal_type<T>::value;

   >       template<class> struct result_of;    // not defined
   >       template<class Fn, class... ArgTypes> struct result_of<Fn(ArgTypes...)>;
   >       template<class T> using result_of_t = typename result_of<T>::type;

   >       template<class T> struct is_pod;
   >       template<class T> inline constexpr bool is_pod_v = is_pod<T>::value;
   >     }