Properly Propagate RecoveryExpr through RequiresExpr
authorErich Keane <erich.keane@intel.com>
Wed, 29 Mar 2023 15:54:40 +0000 (08:54 -0700)
committerErich Keane <erich.keane@intel.com>
Wed, 29 Mar 2023 16:04:59 +0000 (09:04 -0700)
commit98ea4712828b0802c99b3e8a6808cdc908f5b5b9
tree548199e8a05fe868f0d7d1e2f4104d1b44bcdd8d
parent96c036113eae46287819197aa136d4d4ab893713
Properly Propagate RecoveryExpr through RequiresExpr

Commit 3d7946c58 implemented a DR that allowed us to error in a case
where an ill-formedness in a RequiresExpr is diagnosed as a satisfaction
failure.  However, it failed to cover cases where the RequiresExpr had
Requirements that failed for similar reasons.

This patch propagates the RecoveryExpr "containsErrors" correctly
through RequiresExpr.

Fixes: #61776
clang/lib/AST/ExprConcepts.cpp
clang/test/CXX/drs/dr25xx.cpp