Skip to content

Commit 82ea91e

Browse files
committed
Add visitor for requires expr
1 parent 4edadd8 commit 82ea91e

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

‎cpp2rust/converter/converter.cpp‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3717,6 +3717,13 @@ bool Converter::VisitConceptSpecializationExpr(
37173717
return false;
37183718
}
37193719

3720+
bool Converter::VisitRequiresExpr(clang::RequiresExpr *expr) {
3721+
assert(!expr->isValueDependent());
3722+
StrCat(expr->isSatisfied() ? keyword::kTrue : keyword::kFalse);
3723+
computed_expr_type_ = ComputedExprType::FreshValue;
3724+
return false;
3725+
}
3726+
37203727
bool Converter::VisitTypeTraitExpr(clang::TypeTraitExpr *expr) {
37213728
clang::Expr::EvalResult result;
37223729
ENSURE(expr->EvaluateAsInt(result, ctx_));

‎cpp2rust/converter/converter.h‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,7 @@ class Converter : public clang::RecursiveASTVisitor<Converter> {
432432

433433
virtual bool
434434
VisitConceptSpecializationExpr(clang::ConceptSpecializationExpr *expr);
435+
virtual bool VisitRequiresExpr(clang::RequiresExpr *expr);
435436

436437
virtual bool VisitOffsetOfExpr(clang::OffsetOfExpr *expr);
437438

0 commit comments

Comments
 (0)