================
@@ -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

Reply via email to