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

Expand old test coverage #4443

Merged

Conversation

StephanTLavavej
Copy link
Member

  • Overhaul FDIS citation and extend test coverage for std::function PMFs/PMDs.
    • FDIS citations were so old, they escaped our scans for outdated WPs. We don't need to quote INVOKE's Standardese at length, we just need to summarize it. It used to be really confusing, now it's easy mode.
    • A couple of things have changed: derived values are now covered by the Standardese, and reference_wrapper support was added. This is tested elsewhere, e.g. in Dev11_0535636_functional_overhaul, but we can easily add comprehensive test coverage here.
    • I chose f1x and g1x to avoid renumbering everything.
  • Update FDIS citations and add test coverage for mem_fn typedefs.
    • These typedefs were deprecated in C++17 and removed in C++20, so I'm citing WG21-N4659, the C++17 WP.
    • We were also missing test coverage for when mem_fn provides only result_type. Even though this is deprecated/removed, we may as well be comprehensive.
  • P0088R3_variant: Activate EDG test coverage.
    • Now that concepts are available.
    • The preprocessor comments aren't being changed here because Comment cleanups #4439 is cleaning them up better.
  • Drive-by cleanup: In benchmarks/inc, include <cstdint> and qualify std::.

…MFs/PMDs.

FDIS citations were so old, they escaped our scans for outdated WPs. We don't need to quote `INVOKE`'s Standardese at length, we just need to summarize it. It used to be really confusing, now it's easy mode.

A couple of things have changed: derived values are now covered by the Standardese, and `reference_wrapper` support was added. This is tested elsewhere, e.g. in `Dev11_0535636_functional_overhaul`, but we can easily add comprehensive test coverage here.

I chose `f1x` and `g1x` to avoid renumbering everything.
These typedefs were deprecated in C++17 and removed in C++20, so I'm citing N4659, the C++17 WP.

We were also missing test coverage for when `mem_fn` provides only `result_type`. Even though this is deprecated/removed, we may as well be comprehensive.
@StephanTLavavej StephanTLavavej added the test Related to test code label Mar 4, 2024
@StephanTLavavej StephanTLavavej requested a review from a team as a code owner March 4, 2024 02:10
@github-actions github-actions bot added this to Initial Review in Code Reviews Mar 4, 2024
@StephanTLavavej StephanTLavavej moved this from Initial Review to Final Review in Code Reviews Mar 4, 2024
@StephanTLavavej StephanTLavavej self-assigned this Mar 6, 2024
@StephanTLavavej
Copy link
Member Author

I'm speculatively mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed.

@StephanTLavavej StephanTLavavej merged commit 613cdb1 into microsoft:main Mar 8, 2024
37 checks passed
Code Reviews automation moved this from Final Review to Done Mar 8, 2024
@StephanTLavavej StephanTLavavej deleted the cleanups-5-test-coverage branch March 8, 2024 05:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
test Related to test code
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

None yet

1 participant