When wchar_t is a real type, users shouldn't see unsigned short machinery#2164
When wchar_t is a real type, users shouldn't see unsigned short machinery#2164StephanTLavavej merged 14 commits intomicrosoft:mainfrom
Conversation
|
I'm not quite sure if I need to do something with codecvt <unsigned short, char, mbstate_t>, need I? Lines 254 to 258 in 78ff461 ? |
I suspect (70% sure) that it should be guarded by Lines 2106 to 2108 in 3136525 Line 2306 in 3136525
Only the 5 following source files mention Lines 10 to 12 in 3136525 Lines 10 to 12 in 3136525 Lines 10 to 12 in 3136525 Lines 10 to 12 in 3136525 Lines 9 to 11 in 3136525 |
Summarizing here a discussion I had with myself in Discord: explicit template specializations should be visible whenever it's possible to instantiate them implicitly from a primary template or partial specialization. Hiding explicit specializations is simply asking for ODR violation nightmares. Consequently, I think |
…hen `_ENFORCE_FACET_SPECIALIZATIONS` is 0
CaseyCarter
left a comment
There was a problem hiding this comment.
Thank you for helping to partially excise this historical abomination.
| _CRTIMP2_PURE FILE* __CLRCALL_PURE_OR_CDECL _Fiopen(const char*, ios_base::openmode, int); | ||
| _CRTIMP2_PURE FILE* __CLRCALL_PURE_OR_CDECL _Fiopen(const wchar_t*, ios_base::openmode, int); | ||
|
|
||
| #ifdef _NATIVE_WCHAR_T_DEFINED |
There was a problem hiding this comment.
I've never given it any thought before, but seriously who put defined in the name of a macro so we have to query if MEOW_DEFINED is defined??!? This is even worse that putting not in the name of a boolean condition. (No change requested.)
| _STD_END | ||
|
|
||
| #ifndef wistream | ||
| #define wistream ushistream |
There was a problem hiding this comment.
🤮🤮🤮 (No change requested; looking in these old sources can be painful.)
|
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
|
Thanks again for eliminating these bizarre specializations as much as possible! 👻 🎉 😸 |
Fixes #216