Skip to content

Update implemented C++23 language features in "Microsoft C/C++ language conformance by Visual Studio version" #5616

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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

Rageking8
Copy link
Contributor

These are the updated C++23 language features and their respective references for quick verification of when it's implemented:

Feature Supported Reference
P0330R8 Literal Suffix for (signed) size_t VS 2022 17.13 https://devblogs.microsoft.com/cppblog/msvc-compiler-updates-in-visual-studio-2022-version-17-13/#c++23-features
P0847R7 Deducing this VS 2022 17.2 https://devblogs.microsoft.com/cppblog/cpp23-deducing-this/
P1102R2 Down with ()! VS 2022 17.14 https://devblogs.microsoft.com/cppblog/whats-new-for-cpp-developers-in-visual-studio-2022-17-14/#compiler
P1169R4 static operator() VS 2022 17.14 https://devblogs.microsoft.com/cppblog/whats-new-for-cpp-developers-in-visual-studio-2022-17-14/#compiler
P1938R3 if consteval VS 2022 17.14 https://devblogs.microsoft.com/cppblog/whats-new-for-cpp-developers-in-visual-studio-2022-17-14/#compiler
P2128R6 Multidimensional subscript operator VS 2022 17.12 https://devblogs.microsoft.com/cppblog/msvc-compiler-language-updates-in-visual-studio-2022-version-17-12/#c++23-features:
P2173R1 Attributes on Lambda-Expressions VS 2022 17.14 https://devblogs.microsoft.com/cppblog/whats-new-for-cpp-developers-in-visual-studio-2022-17-14/#compiler
P2242R3 Non-literal variables (and labels and gotos) in constexpr functions VS 2022 17.13 https://devblogs.microsoft.com/cppblog/msvc-compiler-updates-in-visual-studio-2022-version-17-13/#c++23-features
P2334R1 preprocessing directives elifdef and elifndef VS 2022 17.10 https://learn.microsoft.com/en-us/cpp/overview/cpp-conformance-improvements?view=msvc-170#added-support-for-elifdef-and-elifndef
P2493R0 Missing feature test macros for C++20 core papers VS 2022 17.2 https://en.cppreference.com/w/cpp/compiler_support.html#cpp23
P2589R1 static operator[] VS 2022 17.14 https://devblogs.microsoft.com/cppblog/whats-new-for-cpp-developers-in-visual-studio-2022-17-14/#compiler

…soft C/C++ language conformance by Visual Studio version"
Copy link
Contributor

@Rageking8 : Thanks for your contribution! The author(s) and reviewer(s) have been notified to review your proposed change.

Copy link
Contributor

Learn Build status updates of commit 55d5393:

✅ Validation status: passed

File Status Preview URL Details
docs/overview/visual-cpp-language-conformance.md ✅Succeeded

For more details, please refer to the build report.

Copy link
Contributor

Learn Build status updates of commit 14e1a74:

✅ Validation status: passed

File Status Preview URL Details
docs/overview/visual-cpp-language-conformance.md ✅Succeeded

For more details, please refer to the build report.

|  [`P2360R0 Extend init-statement to allow alias-declaration`](https://wg21.link/p2360r0) | no |
|  [`P2362R3 Remove non-encodable wide character literals and multicharacter wide character literals`](https://wg21.link/p2362r3) | no |
|  [`P2437R1 Support for #warning`](https://wg21.link/p2437r1) | no |
|  [`P2448R2 Relaxing some constexpr restrictions`](https://wg21.link/p2448r2) | no |
|  [`P2460R2 Relax requirements on wchar_t to match existing practices`](https://wg21.link/p2460r2) | no |
|  [`P2468R2 The Equality Operator You Are Looking For`](https://wg21.link/p2468r2) | no |
|  [`P2493R0 Missing feature test macros for C++20 core papers`](https://wg21.link/p2493r0) | no |
| &emsp;[`P2493R0 Missing feature test macros for C++20 core papers`](https://wg21.link/p2493r0) | VS 2022 17.2 <sup>[DR](#note_DR)</sup> |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems that P2493R0 is a DR, hence the change of superscript in commit 14e1a74. However, looking at the definition of DR:

<a name="note_DR"></a> **DR** These features are enabled in all C++ [`/std`](../build/reference/std-specify-language-standard-version.md) compiler option modes. The C++ Standard committee adopted this change as a retroactive Defect Report to C++11 and all later versions.

It does not seem to be applicable to this and a couple of other usages.

@v-dirichards
Copy link
Contributor

@TylerMSFT

Can you review the proposed changes?

Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@prmerger-automator prmerger-automator bot added the aq-pr-triaged Tracking label for the PR review team label Aug 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants