================
@@ -179,18 +179,20 @@ static_assert(false, Message{}); // expected-error 
{{static assertion failed: He
 }
 
 struct MessageInvalidSize {
-    constexpr auto size(int) const; // expected-note {{candidate function not 
viable: requires 1 argument, but 0 were provided}}
-    constexpr auto data() const;
+    constexpr unsigned long size(int) const; // expected-note {{'size' 
declared here}}
+    constexpr const char* data() const;
 };
 struct MessageInvalidData {
-    constexpr auto size() const;
-    constexpr auto data(int) const; // expected-note {{candidate function not 
viable: requires 1 argument, but 0 were provided}}
+    constexpr unsigned long size() const;
+    constexpr const char* data(int) const; // expected-note {{'data' declared 
here}}
 };
 
 static_assert(false, MessageInvalidSize{});  // expected-error {{static 
assertion failed}} \
-                                             // expected-error {{the message 
in a static assertion must have a 'size()' member function returning an object 
convertible to 'std::size_t'}}
+                                             // expected-error {{the message 
in a static assertion must have a 'size()' member function returning an object 
convertible to 'std::size_t'}} \
----------------
cor3ntin wrote:

The only thing that change is that the note previously attached to the  
declaration of size() is now an error attached to the call site (L195) and the 
declaration gets a 'declared here' note.

I don't see how we could preserve the previous diagnostics, they all come from 
deep in overload resolution.

https://github.com/llvm/llvm-project/pull/73234
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to