-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
<locale>
: Hide some non-Standard functions of locale::id
#5067
<locale>
: Hide some non-Standard functions of locale::id
#5067
Conversation
<xlocale>
: Hide some non-Standard functions from locale::id
<xlocale>
: Hide some non-Standard functions of locale::id
The non-Standard constructor and conversion function are likely to change the behavior of overload resolution, so perhaps they should be eliminated. But they're currently appearing in the DLL interface and thus can't be removed until vNext. This PR attempts to make them only exist when building the STL. The newly added Standard default constructor and `_Get_index` function are templates to avoid alternating DLL interface. (unsure whether this is sufficient or necessary)
a5fc108
to
5fb465e
Compare
<xlocale>
: Hide some non-Standard functions of locale::id
<locale>
: Hide some non-Standard functions of locale::id
When a class is separately compiled, as As always, you can check by running Edit: This change is special because of the default argument (review comment incoming). |
Thanks! 🐈 I pushed a commit to fix bincompat, plus a couple of minor commits. This is moderately risky but I'm willing to roll the dice. |
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
Looks like we avoided rolling snake eyes! ⛔ 🐍 🎲 🎲 |
The non-Standard constructor and conversion function are likely to change the behavior of overload resolution, so perhaps they should be eliminated. But they're currently appearing in the DLL interface and thus can't be removed until vNext.
This PR attempts to make them only exist when building the STL. The newly added Standard default constructor and
_Get_index
function are templates to avoid alternating DLL interface. (I'm still unsure whether this is sufficient or necessary.)