LWG-4312 Const and value category mismatch for allocator_arg_t/allocator_arg in the description of uses-allocator construction (original) (raw)

LWG-4312 Const and value category mismatch for allocator_arg_t/allocator_arg in the description of uses-allocator construction

After a brief search, it appears that we already ask is_constructible_v with allocator_arg_t, but we perform some actual constructions with allocator_arg, including of user-defined types.

For constructions we entirely control (e.g. std::function with its _Secret_copyability_ignoring_tag), it's unobservable how we select their constructors, but at this point I think it would be simpler and more consistent to always use allocator_arg_t{} instead of allocator_arg.