Skip to content

Commit 9a89cda

Browse files
committed
[Clang][NFC] Minor constraint satisfaction checking cleanup
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 1cb6ba5 commit 9a89cda

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
@@ -14594,8 +14594,9 @@ class Sema final : public SemaBase {
1459414594
/// occurred and satisfaction could not be determined.
1459514595
///
1459614596
/// \returns true if an error occurred, false otherwise.
14597-
bool CheckConstraintSatisfaction(const Expr *ConstraintExpr,
14598-
ConstraintSatisfaction &Satisfaction);
14597+
bool
14598+
CheckConstraintSatisfaction(const ConceptSpecializationExpr *ConstraintExpr,
14599+
ConstraintSatisfaction &Satisfaction);
1459914600

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

0 commit comments

Comments
 (0)