Remove non-Standard basic_istream::ipfx()/isfx(), basic_ostream::opfx()/osfx(), and locale::empty()
#5834
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Let's finish cleaning house.
basic_istream::ipfx()/isfx()andbasic_ostream::opfx()/osfx()were deprecated since VS 2022 17.9 in February 2024 (for C++17 and later) and VS 2022 17.11 in August 2024 (unconditionally).<istream>,<ostream>: Deprecate pre-Standardipfx,isfx,opfx, andosfxfunctions #4006locale::empty()was deprecated since VS 2022 17.14 in May 2025.<xlocale>: Deprecate non-Standardlocale::empty()#5197I've verified that the DLL's export surface is unchanged.
There appears to have been virtually zero usage; I see no occurrences of the silencing macros in our internal or Real World Code test suites (modulo preprocessed files), which is why I'm being a bit more aggressive here.
Although we shouldn't ever need to change them, I'm keeping the comments on the function definitions. However, the comment on the declaration of
locale::empty()serves no purpose, so I'm removing it.