[clang] [clang] Improved diagnostics for explicit specialization/instantiation of closure type members (PR #192843)

via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 22 07:55:05 PDT 2026


================
@@ -16331,10 +16331,13 @@ Decl *Sema::ActOnStartOfFunctionDef(Scope *FnBodyScope, Decl *D,
   // have the LSI properly restored.
   if (isGenericLambdaCallOperatorSpecialization(FD)) {
     // C++2c 7.5.5.2p17 A member of a closure type shall not be explicitly
-    // instantiated, explicitly specialized.
-    if (FD->getTemplateSpecializationInfo()
-            ->isExplicitInstantiationOrSpecialization()) {
-      Diag(FD->getLocation(), diag::err_lambda_explicit_spec);
+    // specialized.
+    if (FD->getTemplateSpecializationInfo()->isExplicitSpecialization()) {
+      Diag(FD->getLocation(), diag::err_lambda_explicit_temp_spec)
+          << 0 /*specialization*/;
----------------
StefanPaulet wrote:

Changed it in both places

https://github.com/llvm/llvm-project/pull/192843


More information about the cfe-commits mailing list