Skip to content

Conversation

@frederick-vs-ja
Copy link
Contributor

@frederick-vs-ja frederick-vs-ja commented Jul 10, 2024

In #4464 _Gen_promise_base was made a nested non-template class of a class template.

However, per [basic.lookup.argdep]/3,2, the template arguments of a base class don't furtherly contribute to ADL, so the original implementation strategy should already be ADL-proof for promise_type.

This PR reverts unnecessary changes and adds test cases to ensure that promise_type is already ADL-proof. Actually, exsiting unqualified function calls are also doing this.

Drive-by change: remove one occurrence of the _NODISCARD_FRIEND workaround, following up #4782. Superseded by #4834.

@frederick-vs-ja frederick-vs-ja requested a review from a team as a code owner July 10, 2024 23:44
@StephanTLavavej StephanTLavavej added enhancement Something can be improved generator C++23 generator labels Jul 11, 2024
@StephanTLavavej StephanTLavavej self-assigned this Jul 11, 2024
@AlexGuteniev

This comment was marked as resolved.

test_with_allocator<const Proxy<T>&&, T, TestingIncomplete>();
}

#ifndef _M_CEE // TRANSITION, VSO-1659496
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No change requested: Technically, this isn't necessary because <generator> is C++23, and /clr is currently limited to C++20. However, following the usual pattern seems fine.

@StephanTLavavej StephanTLavavej merged commit cf0bf1a into microsoft:feature/generator Jul 17, 2024
@StephanTLavavej
Copy link
Member

Thanks! ⚡ 🔥

@frederick-vs-ja frederick-vs-ja deleted the overly-adl-proof-generator branch July 18, 2024 00:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Something can be improved generator C++23 generator

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants