Skip to content

Remove workarounds for VSO-895622 - #410

Merged
Casey Carter (CaseyCarter) merged 1 commit into
microsoft:masterfrom
CaseyCarter:vso895622
Jan 24, 2020
Merged

Casey Carter (CaseyCarter) merged 1 commit into
microsoft:masterfrom
CaseyCarter:vso895622

Conversation

@CaseyCarter

@CaseyCarter Casey Carter (CaseyCarter) commented Jan 8, 2020 •

Copy link
Copy Markdown
Contributor

Description

This bug is triggered when unqualified name lookup for f in f(x) finds only deleted function (template)s at template definition time, resulting in MSVC refusing to perform argument dependent lookup at template instantiation time. Unsurprisingly, all of the C++20 CPOs required workarounds.

[This is a dual of the internal MSVC-PR-221621.]

Checklist

Be sure you've read README.md and understand the scope of this repo.

If you're unsure about a box, leave it unchecked. A maintainer will help you.

  • Identifiers in product code changes are properly _Ugly as per
    https://eel.is/c++draft/lex.name#3.1 or there are no product code changes.
  • The STL builds successfully and all tests have passed (must be manually
    verified by an STL maintainer before automated testing is enabled on GitHub,
    leave this unchecked for initial submission).
  • These changes introduce no known ABI breaks (adding members, renaming
    members, adding virtual functions, changing whether a type is an aggregate
    or trivially copyable, etc.).
  • These changes were written from scratch using only this repository,
    the C++ Working Draft (including any cited standards), other WG21 papers
    (excluding reference implementations outside of proposed standard wording),
    and LWG issues as reference material. If they were derived from a project
    that's already listed in NOTICE.txt, that's fine, but please mention it.
    If they were derived from any other project (including Boost and libc++,
    which are not yet listed in NOTICE.txt), you must mention it here,
    so we can determine whether the license is compatible and what else needs
    to be done.

This bug is triggered when unqualified name lookup for `f` in `f(x)` finds only deleted function (template)s at template definition time, resulting in MSVC refusing to perform argument dependent lookup at template instantiation time. Unsurprisingly, all of the C++20 CPOs required workarounds.
@CaseyCarter
Casey Carter (CaseyCarter) requested a review from a team as a code owner January 8, 2020 01:31
@CaseyCarter

Copy link
Copy Markdown
Contributor Author

NOTE: This cannot be merged until VS16.5p2 release (which includes the fix for the pertinent bug).

@BillyONeal

Copy link
Copy Markdown
Member

All red YAY

@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) removed the blocked Something is preventing work on this label Jan 24, 2020
@StephanTLavavej

Copy link
Copy Markdown
Member

VS 2019 16.5 Preview 2 is now available, so this is no longer blocked.

@CaseyCarter

Copy link
Copy Markdown
Contributor Author

VS 2019 16.5 Preview 2 is now available, so this is no longer blocked.

I'm waiting for a fresh test run to complete before merging.

@CaseyCarter
Casey Carter (CaseyCarter) merged commit 8dc0385 into microsoft:master Jan 24, 2020
@CaseyCarter
Casey Carter (CaseyCarter) deleted the vso895622 branch January 24, 2020 01:22
@CaseyCarter Casey Carter (CaseyCarter) removed their assignment Jun 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants