On 1/27/26 01:33, Iain Sandoe wrote:
From: Nina Ranns <[email protected]>
Changes since v3
- rebased onto r16-7033-gfb6a2e3f1fa842 (includes reflection changes).
Changes since v2
- rebased onto r16-6757-g460edeb8bea11e (includes new year (c) change).
Changes since v1
- addressed Jonathan's review comments
- fixed a merge error in the removal of C++2a code.
- rebased onto r16-5785-g3b30d09ac7bbf8 (includes change to default to
C++20).
This started to cause
$ cat test.cc
#include <source_location>
struct S { S(char const *); };
void f(S);
void f(std::source_location);
int main() { f(""); }
to fail
$ g++ -std=c++20 -fsyntax-only test.cc
test.cc: In function ‘int main()’:
test.cc:5:15: error: call of overloaded ‘f(const char [1])’ is ambiguous
5 | int main() { f(""); }
| ~^~~~
• there are 2 candidates
• candidate 1: ‘void f(S)’
test.cc:3:6:
3 | void f(S);
| ^
• candidate 2: ‘void f(std::source_location)’
test.cc:4:6:
4 | void f(std::source_location);
| ^
which I assume is unintended?