https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106256
--- Comment #2 from David Malcolm <dmalcolm at gcc dot gnu.org> --- For reference, trunk with -std=c++20: https://godbolt.org/z/3q6b9dc6a (output as per comment #0). With my patches for PR other/116253, and with -fdiagnostics-set-output=text:experimental-nesting=yes -std=c++20 -fconcepts-diagnostics-depth=3 (but without attempting to special-case standard concepts), the output is: ../../src/gcc/testsuite/g++.dg/concepts/P2429R0-1.C: In function ‘int main()’: ../../src/gcc/testsuite/g++.dg/concepts/P2429R0-1.C:6:4: error: no matching function for call to ‘f(std::nullptr_t)’ 6 | f(nullptr); | ~^~~~~~~~~ • we found 1 candidate • candidate 1: ‘template<class N> requires integral<N> void f(N)’ ../../src/gcc/testsuite/g++.dg/concepts/P2429R0-1.C:4:6: 4 | void f(N n); | ^ • template argument deduction/substitution failed: • constraints not satisfied In file included from ../../src/gcc/testsuite/g++.dg/concepts/P2429R0-1.C:1: • ../x86_64-pc-linux-gnu/libstdc++-v3/include/concepts: In substitution of ‘template<class N> requires integral<N> void f(N) [with N = std::nullptr_t]’: • required from here ../../src/gcc/testsuite/g++.dg/concepts/P2429R0-1.C:6:4: 6 | f(nullptr); | ~^~~~~~~~~ • required for the satisfaction of ‘integral<N>’ [with N = std::nullptr_t] ../x86_64-pc-linux-gnu/libstdc++-v3/include/concepts:109:13: 109 | concept integral = is_integral_v<_Tp>; | ^~~~~~~~ • the expression ‘is_integral_v<_Tp> [with _Tp = std::nullptr_t]’ evaluated to ‘false’ ../x86_64-pc-linux-gnu/libstdc++-v3/include/concepts:109:24: 109 | concept integral = is_integral_v<_Tp>; | ^~~~~~~~~~~~~~~~~~