Skip to content

<utility>: Implement to_underlying() - #1828

Merged
Stephan T. Lavavej (StephanTLavavej) merged 13 commits into
microsoft:mainfrom
SuperWig:to_underlying
Jun 29, 2021
Merged

Stephan T. Lavavej (StephanTLavavej) merged 13 commits into
microsoft:mainfrom
SuperWig:to_underlying

Conversation

@SuperWig

@SuperWig Daniel Marshall (SuperWig) commented Apr 12, 2021

Copy link
Copy Markdown
Contributor

As it seems remaining C++20 is nearing completion; I figure now's a good time to get started on C++23, starting with this incredibly small feature.

Fixes #1681.

@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) added blocked Something is preventing work on this cxx23 C++23 feature labels Apr 12, 2021
@StephanTLavavej

Copy link
Copy Markdown
Member

Like #1478, this is blocked by the absence of _HAS_CXX23 in vcruntime. We need to add it there (or yvals_core.h as a workaround), now that /std:c++20 and /std:c++latest are distinguishable options.

@SuperWig

Copy link
Copy Markdown
Contributor Author

It's things like this that'll stop us from completing C++23 by next year.

@CaseyCarter

Copy link
Copy Markdown
Contributor

It's things like this that'll stop us from completing C++23 by next year.

Next year? I thought we were freezing the C++23 ABI in a month or two. 👿

@SuperWig
Daniel Marshall (SuperWig) marked this pull request as ready for review May 27, 2021 07:08
@SuperWig
Daniel Marshall (SuperWig) requested a review from a team as a code owner May 27, 2021 07:08
Comment thread stl/inc/yvals_core.h Outdated
Comment thread tests/std/tests/VSO_0157762_feature_test_macros/test.compile.pass.cpp Outdated
Comment thread tests/std/tests/P1682R3_to_underlying/test.cpp Outdated
Comment thread tests/std/tests/P1682R3_to_underlying/test.cpp
@CaseyCarter Casey Carter (CaseyCarter) removed the blocked Something is preventing work on this label May 27, 2021
@StephanTLavavej

Copy link
Copy Markdown
Member

This PR needs to merge main and resolve a conflict in yvals_core.h.

Comment thread stl/inc/yvals_core.h Outdated
@SuperWig

Copy link
Copy Markdown
Contributor Author

Uh, why didn't that skip CI?

@StephanTLavavej

Copy link
Copy Markdown
Member

Uh, why didn't that skip CI?

Apparently, if that tag appears in a merged commit, it will skip a CI build for main - however, it will not skip a PR build. 😿

Comment thread tests/std/tests/P1682R3_to_underlying/test.cpp Outdated
Fix wacky license comment formatting.
@CaseyCarter Casey Carter (CaseyCarter) removed their assignment Jun 21, 2021
Comment thread tests/std/tests/P1682R3_to_underlying/test.cpp Outdated
@StephanTLavavej
Stephan T. Lavavej (StephanTLavavej) merged commit 3a27935 into microsoft:main Jun 29, 2021
@StephanTLavavej

Copy link
Copy Markdown
Member

Thanks for implementing this C++23 feature - it may be small, but I think it'll be the favorite of many users. 😻 🎉

@SuperWig
Daniel Marshall (SuperWig) deleted the to_underlying branch June 29, 2021 10:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cxx23 C++23 feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

P1682R3 to_underlying() For Enumerations

3 participants