================
@@ -153,6 +153,10 @@ RequiresExpr::RequiresExpr(ASTContext &C, SourceLocation 
RequiresKWLoc,
   std::copy(Requirements.begin(), Requirements.end(),
             getTrailingObjects<concepts::Requirement *>());
   RequiresExprBits.IsSatisfied |= Dependent;
+  RequiresExprBits.IsSatisfied &=
+      llvm::none_of(LocalParameters, [](const ParmVarDecl *Param) {
+        return Param->isInvalidDecl();
+      });
----------------
mizvekov wrote:

I don't understand why we need to say the requires expression is not satisfied 
if any of the parameters are invalid. This is the consequence of an error, 
which was already emitted.

This does not seem to lead to better error recovery.

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

Reply via email to