Skip to content

Commit 14335be

Browse files
authored
[Clang][NFC] Minor constraint satisfaction checking cleanup (#134059)
We had a weird, incorrect, "ConstraintEvaluator" object that was not useful for anything, so I removed that. I also changed the CheckConstraintSatisfaction overload that just took an Expr* as this did not make much sense at all. Satisfaction checking is still fairly wrong, we do not follow the standard that requires we only substitute into the mapping of the normal form, so we produce errors for incorrect substitution into concepts id, even though we should not.
1 parent a0b75b9 commit 14335be

File tree

3 files changed

+207
-217
lines changed

3 files changed

+207
-217
lines changed

clang/include/clang/Sema/Sema.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14597,8 +14597,9 @@ class Sema final : public SemaBase {
1459714597
/// occurred and satisfaction could not be determined.
1459814598
///
1459914599
/// \returns true if an error occurred, false otherwise.
14600-
bool CheckConstraintSatisfaction(const Expr *ConstraintExpr,
14601-
ConstraintSatisfaction &Satisfaction);
14600+
bool
14601+
CheckConstraintSatisfaction(const ConceptSpecializationExpr *ConstraintExpr,
14602+
ConstraintSatisfaction &Satisfaction);
1460214603

1460314604
/// Check whether the given function decl's trailing requires clause is
1460414605
/// satisfied, if any. Returns false and updates Satisfaction with the

0 commit comments

Comments
 (0)