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

ADL-proof implementation of [alg.modifying.operations] #4256

Merged

Conversation

frederick-vs-ja
Copy link
Contributor

Split from #4004, towards #140 and #1596.

Fixes #4043 by ::-qualifying all remaining __std_meow vectorizing functions (some are _STD-qualified in #4146).

Also adds _Is_trivially_ranges_swappable(_v) to handle triviality of swapping by ranges::swap (which gets rid of ADL for pointers and pointers-to-members), along with workaround for DevCom-10456445.

- also add `_Is_trivially_ranges_swappable(_v)` to handle triviality
- also add workaround for DevCom-10456445
@frederick-vs-ja frederick-vs-ja requested a review from a team as a code owner December 11, 2023 17:26
@StephanTLavavej StephanTLavavej added the bug Something isn't working label Dec 13, 2023
@StephanTLavavej StephanTLavavej self-assigned this Dec 13, 2023
@StephanTLavavej
Copy link
Member

StephanTLavavej commented Jan 13, 2024

Thanks! I pushed a conflict-free merge with main plus a fix and consistency cleanups to ranges::transform calls in the tests.

@StephanTLavavej StephanTLavavej removed their assignment Jan 13, 2024
@StephanTLavavej StephanTLavavej self-assigned this Jan 17, 2024
@StephanTLavavej
Copy link
Member

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

@StephanTLavavej StephanTLavavej merged commit 378f61b into microsoft:main Jan 17, 2024
35 checks passed
@StephanTLavavej
Copy link
Member

🛡️ 🎉 🐈

@frederick-vs-ja frederick-vs-ja deleted the adl-proof-alg-modifying branch January 17, 2024 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Calls to vector algorithms need qualification to avoid ADL
2 participants