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

### 2738. `is_constructible` with `void` types

Section: 21.3.5.4 [meta.unary.prop] Status: C++17 Submitter: S. B. Tam Opened: 2016-06-22 Last modified: 2017-07-30

Priority: Not Prioritized

View other active issues in [meta.unary.prop].

View all other issues in [meta.unary.prop].

View all issues with C++17 status.

Discussion:

LWG 2560 mention that there is no variable of function type. There's also no variable of `void` type, so should 21.3.5.4 [meta.unary.prop] also explicitly say that for a `void` type `T`, `is_constructible<T, Args...>::value` is `false`?

[2016-07-03, Daniel provides wording]

[2016-08 Chicago]

Wed PM: Move to Tentatively Ready

Proposed resolution:

This wording is relative to N4594.

1. Change 21.3.5.4 [meta.unary.prop], Table 52 — "Type property predicates", as indicated:

   > Table 52 — Type property predicates
   > Template | Condition | Preconditions
   > --- | --- | ---
   > `…`
   > `template <class T, class... Args> struct is_constructible;` | For a function type `T` or for a (possibly cv-qualified) `void` type `T`, `is_constructible<T, Args...>::value` is `false`, otherwise see below | `T` and all types in the parameter pack `Args` shall be complete types, (possibly cv-qualified) `void`, or arrays of unknown bound.
   > `…`