This page is a snapshot from the LWG issues list, see theLibrary Active Issues List for more information and the meaning ofC++20 status.
default_constructible todefault_initializableSection: 18.4.12[concept.default.init]Status:C++20Submitter: Casey CarterOpened: 2019-11-18Last modified: 2021-06-06
Priority:0
View all otherissues in [concept.default.init].
View all issues withC++20 status.
Discussion:
WG21 mergedP1754R1 "Rename concepts tostandard_case for C++20"into the working draft as LWG Motion 11 in 2019 Cologne. That proposal contains editorial instructions torename what was theDefaultConstructible concept:
IF LWG3151 ACCEPTED: default_initializableELSE default_constructible
Notably LWG3151(i) "ConvertibleTo rejects conversions from array and function types" isnot the intended issue number, LWG3149(i) "DefaultConstructible should require defaultinitialization" is. It was made clear during discussion in LEWG that 3149 would change the concept to require default-initialization to be valid rather than value-initialization which theis_default_constructibletrait requires. LEWG agreed that it would be confusing to have a trait and concept with very similar namesyet slightly different meanings, and approvedP1754R1's proposed renaming.
[2019-11-30 Issue Prioritization]
Status to Tentatively Ready and priority to 0 after eight positive votes on the reflector.
Proposed resolution:
This wording is relative toN4835.
Change the stable name "[concept.defaultconstructible]" to "[concept.default.init]" and retitle"Conceptdefault_constructible" to "Conceptdefault_initializable". Replace all referencesto the namedefault_constructible withdefault_initializable (There are 20 occurrences).