================
@@ -7525,6 +7525,8 @@ def err_explicit_object_parameter_mutable: Error<
 def err_invalid_explicit_object_type_in_lambda: Error<
   "invalid explicit object parameter type %0 in lambda with capture; "
   "the type must be the same as, or derived from, the lambda">;
+def err_explicit_object_parameter_invalid: Error<
+  "an explicit object parameter is not allowed here">;
----------------
Sirraide wrote:

I’ve changed it to ‘an explicit object parameter can only appear as the first 
parameter of a member function’; while still not great, it at least gives some 
more indication as to what the problem is. I’m not sure how easy/helpful it 
would be to give more detailed diagnostics for cases such as
```c++
struct S {
    int (S::*x)(this int);
    int h(int x, int (*)(this S))
};
```

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

Reply via email to