Skip to content
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

P1328R1 constexpr type_info::operator==() #1972

Closed
StephanTLavavej opened this issue Jun 9, 2021 · 11 comments · Fixed by #2793
Closed

P1328R1 constexpr type_info::operator==() #1972

StephanTLavavej opened this issue Jun 9, 2021 · 11 comments · Fixed by #2793
Labels
cxx23 C++23 feature fixed Something works now, yay!

Comments

@StephanTLavavej
Copy link
Member

StephanTLavavej commented Jun 9, 2021

P1328R1 constexpr type_info::operator==()

Feature-test macro:

#define __cpp_lib_constexpr_typeinfo 202106L
@StephanTLavavej StephanTLavavej added the cxx23 C++23 feature label Jun 9, 2021
@StephanTLavavej StephanTLavavej added this to Available in C++23 Features Jun 9, 2021
@cpplearner
Copy link
Contributor

type_info is defined in <vcruntime_typeinfo.h>, which is not part of this repo.

@StephanTLavavej

This comment was marked as outdated.

@SuperWig

This comment was marked as outdated.

@miscco

This comment was marked as outdated.

@StephanTLavavej StephanTLavavej moved this from Available to Investigating in C++23 Features Apr 12, 2022
@StephanTLavavej
Copy link
Member Author

I have created an internal PR to update vcruntime_typeinfo.h in 17.3 Preview 1, after which we can fully enable this feature with a GitHub PR. Unfortunately, VCRuntime open-sourcing is indefinitely delayed again.

@StephanTLavavej
Copy link
Member Author

Merged MSVC-PR-392482 for 17.3 Preview 1.

@jonwil
Copy link

jonwil commented Apr 17, 2022

Is the vcruntime open source delay because of the previously mentioned performance stuff? (i.e. the lack of a way to make sure 3rd party submissions aren't hurting perf)

@CaseyCarter
Copy link
Member

Is the vcruntime open source delay because of the previously mentioned performance stuff? (i.e. the lack of a way to make sure 3rd party submissions aren't hurting perf)

Yes, that is the case. Until we have some kind of benchmarking in place to defend against critical perf regression, we're not comfortable open-sourcing VCRuntime. (Despite that the vast majority of VCRuntime changes that come from the STL don't touch perf-critical code.)

@jonwil
Copy link

jonwil commented Apr 18, 2022

Obvious question is why it can't be opened up but (as with patches that break ABI) patches to perf critical code not accepted for merge until the infrastructure is in place to detect regressions.

@CaseyCarter
Copy link
Member

Obvious question is why it can't be opened up but (as with patches that break ABI) patches to perf critical code not accepted for merge until the infrastructure is in place to detect regressions.

That's a good question which I wasn't motivated enough to get an answer to. @MahmoudGSaleh and @mnatsuhara were involved more directly in the cross-team opensourcing discussions, maybe Mahmoud could comment?

@StephanTLavavej
Copy link
Member Author

17.3 Preview 1 didn't contain an MSVC toolset update (due to factors outside of our control) - we are actually waiting for 17.3 Preview 2 here.

@StephanTLavavej StephanTLavavej moved this from Investigating to Blocked in C++23 Features May 18, 2022
@StephanTLavavej StephanTLavavej moved this from Blocked to Investigating in C++23 Features Jun 16, 2022
@StephanTLavavej StephanTLavavej moved this from Investigating to Reviewing PR in C++23 Features Jun 16, 2022
C++23 Features automation moved this from Reviewing PR to Done Jun 20, 2022
@StephanTLavavej StephanTLavavej added the fixed Something works now, yay! label Jun 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cxx23 C++23 feature fixed Something works now, yay!
Projects
Development

Successfully merging a pull request may close this issue.

6 participants