https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105174
Bug ID: 105174 Summary: [Concepts] Example from temp.func.order-p6 selects wrong overload Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: roi.jacobson1 at gmail dot com Target Milestone: --- This example from the standard: https://timsong-cpp.github.io/cppwp/temp.func.order#example-6 fails to compile with GCC (all versions >= 10), because the wrong overload is selected for operator==. I _think_ the problem might be that the permutation on the template arguments between the specializations prevents GCC from recognizing the second is more constrained, but I'm not too sure.