This patch is a fix for the Bug 28423.
The problem was that the context std context to which compared against was not the primary context.
Differential D22804
Fix for Bug 28423 - error: too many arguments to function call, expected single argument '__pq', have 2 arguments void swap(priority_queue __pq) CrisCristescu on Jul 26 2016, 5:36 AM. Authored by
Details
This patch is a fix for the Bug 28423. The problem was that the context std context to which compared against was not the primary context.
Diff Detail
Event Timeline
Comment Actions Code change looks OK, but can you reduce the testcase some more? Something like namespace std { template<typename T> void swap(T, T); template<typename T> struct array { T t; void swap(array) noexcept(noexcept(swap(t, t))); }; } ... as a header and ... void f(std::array<int> ai) { ai.swap(ai); } ... as a test seems like they should be enough, once you create the situation that Sema's StdNamespace is not the primary context for the std namespace. |
Just change this to