================ @@ -985,7 +985,9 @@ namespace cwg354 { // cwg354: 3.1 c++11 int b1 = both<(int*)0>(); // cxx98-error@-1 {{no matching function for call to 'both'}} // cxx98-note@#cwg354-both-int-ptr {{candidate template ignored: invalid explicitly-specified argument for 1st template parameter}} + // cxx98-note@#cwg354-both-int-ptr {{non-type template argument does not refer to any declaration}} // cxx98-note@#cwg354-both-int {{candidate template ignored: invalid explicitly-specified argument for 1st template parameter}} + // cxx98-note@#cwg354-both-int {{non-type template argument of type 'int *' must have an integral or enumeration type}} ---------------- Endilll wrote:
I'm not sure about the enumeration part, because you need two conversions to get from (unscoped) enum to pointer (via integer), and https://eel.is/c++draft/conv#general-1 doesn't seem to allow both in the same standard conversion sequence https://github.com/llvm/llvm-project/pull/139066 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits