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

### 3134. [fund.ts.v3] LFTSv3 contains extraneous [meta] variable templates that should have been deleted by P09961

Section: 99 [fund.ts.v3::meta.type.synop] Status: Resolved Submitter: Thomas Köppe Opened: 2018-07-02 Last modified: 2020-09-06

Priority: 0

View all other issues in [fund.ts.v3::meta.type.synop].

View all issues with Resolved status.

Discussion:

Addresses: fund.ts.v3

The LFTSv3 prospective-working-paper N4758 lists a large number of type trait variable templates in [meta.type.synop] that are duplicates of corresponding ones in C++17. The paper P0996R1 that was meant to rebase the LFTS on C++17 appears to have missed them.

[2018-07-20 Status to Tentatively Ready after five positive votes on the reflector.]

[2018-11-11 Resolved by P1210R0, adopted in San Diego.]

Proposed resolution:

This wording is relative to N4758.

1. Delete from 99 [fund.ts.v3::meta.type.synop] all variable templates starting at `is_void_v` up to and including `is_convertible_v` as indicated:

   >     #include <type_traits>

   >     namespace std::experimental {
   >     inline namespace fundamentals_v3 {

   >       // See C++17 §23.15.4.1, primary type categories
   >       template <class T> constexpr bool is_void_v
   >         = is_void<T>::value;
   >       […]
   >       template <class From, class To> constexpr bool is_convertible_v
   >         = is_convertible<From, To>::value;

   >       // 3.3.2, Other type transformations
   >       template <class> class invocation_type; // not defined
   >       […]
   >     } // inline namespace fundamentals_v3
   >     } // namespace std::experimental