-
Notifications
You must be signed in to change notification settings - Fork 1.6k
allocator::is_always_equal is deprecated, not removed, in C++20
#2423
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
...by LWG-3170. We improperly reused the "allocator features deprecated in C++17" deprecation warning macro instead of devising a new macro name, and therefore incorrectly "promoted" `is_always_equal` to "removed" when the other such marked features were removed for C++20. Fixes microsoft#2422
|
Looks good to me. It's somewhat unusual that this was deprecated by an LWG issue resolution, which we generally treat as retroactive back to the beginning of time (or when a feature appeared). Given when this was voted in (and C++20's, ahem, "extended" finalization period), I think that your approach makes sense. Extending this further back to C++17 would be too aggressive, I think - and delaying it to C++23 would serve no real purpose. https://en.cppreference.com/w/cpp/memory/allocator describes the deprecation as happening in C++23 but I'm okay with diverging from that view here. |
allocator::is_always_equal is deprecated, not removed, in C++20
|
Perhaps extending the deprecation back to C++14 mode (i.e. applying it to all modes) is also OK? |
|
@frederick-vs-ja Because C++14 mode is the default, emitting deprecation warnings in that mode is extremely aggressive - thus we generally avoid doing so. (An exception is |
|
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
|
Thanks for fixing this overly-eager removal! 🛠️ 🎉 😸 |
...by LWG-3170. We improperly reused the "allocator features deprecated in C++17" deprecation warning macro instead of devising a new macro name, and therefore incorrectly "promoted"
is_always_equalto "removed" when the other such marked features were removed for C++20.Fixes #2422