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.

### 3356. `__cpp_lib_nothrow_convertible` should be `__cpp_lib_is_nothrow_convertible`

Section: 17.3.2 [version.syn] Status: C++20 Submitter: Barry Revzin Opened: 2019-12-09 Last modified: 2021-02-25

Priority: 0

View all other issues in [version.syn].

View all issues with C++20 status.

Discussion:

P1902R1 introduced the feature test macro `__cpp_lib_nothrow_convertible`, but every other example in SD-6 of a feature test macro testing for the presence of a single type trait FOO is named `__cpp_lib_FOO`. This macro should be renamed `__cpp_lib_is_nothrow_convertible`.

This naming convention should probably be documented in SD-6 as policy.

[2019-12-21 Issue Prioritization]

Status to Tentatively Ready and priority to 0 after seven positive votes on the reflector. A convincing argument was that currently no vendor had published a release with the previous feature macro.

Proposed resolution:

This wording is relative to N4842.

1. Modify 17.3.2 [version.syn], header `<version>` synopsis, as indicated:

   >     […]
   >     #define __cpp_lib_not_fn                 201603L  // also in <functional>
   >     #define __cpp_lib_is_nothrow_convertible 201806L  // also in <type_traits>
   >     #define __cpp_lib_null_iterators         201304L  // also in <iterator>
   >     […]