You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The internal function template tzdb_list::_Emplace_front (initially added in #1671) only exists for testing. I found that it's possibly to completely hack in the test codes, so this PR removes it.
After Clang 16 got WG21-P0960R3 implemented, it should be no longer necessary to construct a tzdb before calling emplace_front. It seems more efficient to directly construct the tzdb element within emplace_front. But there's some bug in EDG so perhaps it's better to give up the change.
I guess that was also a workaround for EDG. We'll need to reduce a repro to send to the Edge team and conditionally (or unconditionally) restore the workaround with a transition comment.
frederick-vs-ja
changed the title
<chrono>: Simplify tzdb_list a bit around emplace_front<chrono>: Remove testing-only internal function template tzdb_list::_Emplace_frontAug 27, 2024
/clr hates this technique, reduced and reported as VSO-2231268 "/clr /std:c++20 rejects sneaky technique to access private data members".
Instead of guarding this test coverage for /clr, I'm now inclined to abandon the private data member hack, and merge only the TRANSITION comments for EDG. I think this is adding too much test complexity and the cost for product code is minimal.
StephanTLavavej
changed the title
<chrono>: Remove testing-only internal function template tzdb_list::_Emplace_front<chrono>: Add comments for compiler bug workarounds
Aug 27, 2024
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The internal function template
tzdb_list::_Emplace_front
(initially added in #1671) only exists for testing. I found that it's possibly to completely hack in the test codes, so this PR removes it.After Clang 16 got WG21-P0960R3 implemented, it should be no longer necessary to construct a
tzdb
before callingemplace_front
. It seems more efficient to directly construct thetzdb
element withinemplace_front
. But there's some bug in EDG so perhaps it's better to give up the change.