This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of New status.
Section: 20.2.9.2 [allocator.traits.types] Status: New Submitter: Jiang An Opened: 2022-01-24 Last modified: 2022-03-04
Priority: 3
View all other issues in [allocator.traits.types].
View all issues with New status.
Discussion:
20.2.9.2 [allocator.traits.types]/11 says that the instantiation of rebind_alloc is sometimes ill-formed, however, it's unclear such ill-formedness results in substitution failure or hard error. It seems that current implementations (libc++, libstd++, MSVC STL) give substitution errors, and we should reword 20.2.9.2 [allocator.traits.types]/11 with "Constraints:".
[2022-01-29; Daniel comments]
This issue has some overlap with LWG 3545 in regard to the question how we should handle the rebind member template of the pointer_traits primary template as specified by 20.2.3.2 [pointer.traits.types] p3. It would seem preferable to decide for the same approach in both cases.
[2022-03-04; Reflector poll]
Set priority to 3 after reflector poll. Probably NAD, since [allocator.requirements.general]/11 allows any allocator instantiation to fail with a hard error outside the immediate context, making it impossible to guarantee a SFINAE-friendly result. Also unclear what motivation there is for it being SFINAE friendly.
Proposed resolution: