https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115198
--- Comment #3 from Sean Murthy <s.murthy at outlook dot com> --- For everyone's convenience, attaching here the compiler's error message. The notes the compiler attached to the error indicate the issue might be with a possibly erroneous/superfluous deduction guide the compiler itself generates. At least that is my speculation based on the first note attached to the error message. <source>:57:13: error: class template argument deduction failed: 57 | A1 a1(c1); | ^ <source>:57:13: error: call of overloaded 'C1(C1<false, int>&)' is ambiguous <source>:5:7: note: candidate: 'C1(C1<false, T>)-> C1<false, T> [with T = int]' 5 | class C1 | ^~ <source>:9:5: note: candidate: 'C1(const C1<false, T>&)-> C1<false, T> [with T = int]' 9 | C1(const C1& other) = default;