This is an archive of the discontinued LLVM Phabricator instance.

[libc++] ADL-proof <functional> by adding _VSTD:: qualification on calls.
ClosedPublic

Authored by Quuxplusone on Dec 8 2020, 2:01 PM.

Details

Summary
  • std::reference_wrapper
  • std::function
  • std::mem_fn

    While I'm here, remove _VSTD:: qualification from calls to declval because it takes no arguments and thus isn't susceptible to ADL.

Diff Detail

Event Timeline

Quuxplusone requested review of this revision.Dec 8 2020, 2:01 PM
Quuxplusone created this revision.
Herald added a reviewer: Restricted Project. · View Herald TranscriptDec 8 2020, 2:01 PM

Fix names of new test files.

Rebase, to poke the buildbot.

ldionne accepted this revision.Dec 11 2020, 11:42 AM

LGTM if CI passes.

This revision is now accepted and ready to land.Dec 11 2020, 11:42 AM

The GCC test failure is interesting. I just filed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98249 about it, and will wait to see what develops.

Temporarily rebase on D93153 to see if D93153 indeed fixes the GCC buildbot issue. (Will still wait for review of D93153 before landing either of these.)