This patch implements the Core language part. The
library part may need a version check.
A few details w.r.t. the paper:
- The Annex D wording implies a C++20 change as requested by Core, but this forms a contradiction because that won't be available for US 212 which requests a fix for a DR against C++17. Therefore this patch implements the paper as a DR against C++11 for now.
- This narrowing category does not consider whether the value fits or whether the object to convert from is a literal (MSVC).
- nullptr to bool is not a conversion (although Clang thinks it is), so nullptr is outside the scope of this change.
References:
https://wg21.link/p1957r0