See the direction< It causes a number of partial-specialization problems (Class template partial specialization is not more specialized than the primary template),but I suspect I'm instantiating a concept I shouldnt be elsewhere as well.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Failures I saw:
FAIL: Clang :: CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp (9218 of 17395) ******************** TEST 'Clang :: CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp' FAILED ******************** Script: -- : 'RUN: at line 1'; /localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang -cc1 -internal-isystem /localdisk2/ekeane1/workspaces/delayed-concepts/build/lib/clang/16.0.0/include -nostdsysteminc -std=c++2a -x c++ -verify /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp -- Exit Code: 1 Command Output (stderr): -- error: 'error' diagnostics seen but not expected: File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp Line 19: class template partial specialization is not more specialized than the primary template File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp Line 89: class template partial specialization is not more specialized than the primary template error: 'note' diagnostics expected but not seen: File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp Line 3 (directive at /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp:4): similar constraint expressions not considered equivalen File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp Line 7 (directive at /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp:8): similar constraint expression here error: 'note' diagnostics seen but not expected: File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp Line 16: template is declared here File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp Line 83: template is declared here 6 errors generated. -- ******************** FAIL: Clang :: CXX/temp/temp.decls/temp.fct/temp.func.order/p6.cpp (11341 of 17395) ******************** TEST 'Clang :: CXX/temp/temp.decls/temp.fct/temp.func.order/p6.cpp' FAILED ******************** Script: -- : 'RUN: at line 1'; /localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang -cc1 -internal-isystem /localdisk2/ekeane1/workspaces/delayed-concepts/build/lib/clang/16.0.0/include -nostdsysteminc -fsyntax-only -verify -std=c++20 /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p6.cpp -- Exit Code: 1 Command Output (stderr): -- error: 'error' diagnostics seen but not expected: File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p6.cpp Line 97: class template partial specialization is not more specialized than the primary template File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p6.cpp Line 99: class template partial specialization is not more specialized than the primary template error: 'note' diagnostics seen but not expected: File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p6.cpp Line 95: template is declared here File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p6.cpp Line 95: template is declared here 4 errors generated. -- ******************** FAIL: Clang :: CXX/temp/temp.constr/temp.constr.order/var-template-partial-specializations.cpp (12212 of 17395) ******************** TEST 'Clang :: CXX/temp/temp.constr/temp.constr.order/var-template-partial-specializations.cpp' FAILED ******************** Script: -- : 'RUN: at line 1'; /localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang -cc1 -internal-isystem /localdisk2/ekeane1/workspaces/delayed-concepts/build/lib/clang/16.0.0/include -nostdsysteminc -std=c++2a -x c++ -verify /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/var-template-partial-specializations.cpp -- Exit Code: 1 Command Output (stderr): -- error: 'error' diagnostics seen but not expected: File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/var-template-partial-specializations.cpp Line 18: variable template partial specialization is not more specialized than the primary template error: 'note' diagnostics expected but not seen: File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/var-template-partial-specializations.cpp Line 3 (directive at /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/var-template-partial-specializations.cpp:4): similar constraint expressions not considered equivalent File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/var-template-partial-specializations.cpp Line 7 (directive at /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/var-template-partial-specializations.cpp:8): similar constraint expression here error: 'note' diagnostics seen but not expected: File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/CXX/temp/temp.constr/temp.constr.order/var-template-partial-specializations.cpp Line 15: template is declared here 4 errors generated. -- ******************** FAIL: Clang :: SemaTemplate/concepts-GH53354.cpp (17193 of 17395) ******************** TEST 'Clang :: SemaTemplate/concepts-GH53354.cpp' FAILED ******************** Script: -- : 'RUN: at line 1'; /localdisk2/ekeane1/workspaces/delayed-concepts/build/bin/clang -cc1 -internal-isystem /localdisk2/ekeane1/workspaces/delayed-concepts/build/lib/clang/16.0.0/include -nostdsysteminc -std=c++20 -verify /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/SemaTemplate/concepts-GH53354.cpp -- Exit Code: 1 Command Output (stderr): -- error: 'error' diagnostics seen but not expected: File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/SemaTemplate/concepts-GH53354.cpp Line 20: class template partial specialization is not more specialized than the primary template error: 'note' diagnostics seen but not expected: File /localdisk2/ekeane1/workspaces/delayed-concepts/clang/test/SemaTemplate/concepts-GH53354.cpp Line 16: template is declared here 2 errors generated. -- ******************** -- Testing: 17395 tests, 96 workers -- ******************** Failed Tests (4): Clang :: CXX/temp/temp.constr/temp.constr.order/class-template-partial-specializations.cpp Clang :: CXX/temp/temp.constr/temp.constr.order/var-template-partial-specializations.cpp Clang :: CXX/temp/temp.decls/temp.fct/temp.func.order/p6.cpp Clang :: SemaTemplate/concepts-GH53354.cpp
As you can see, they are all about the same symptom, so I'm just hoping we need to change how we instantiate that constraint slightly? Maybe we should still instantiate when doing partial-specialization application, and this causes it to skip? Or maybe the 'other side' needs constraints to stop being instantiated?