fully canonicalize expect-fx

This commit is contained in:
Folkert 2022-08-09 14:50:24 +02:00
parent 9a352440de
commit 7c9b1897bb
No known key found for this signature in database
GPG key ID: 1F17F6FFD112B97C
7 changed files with 184 additions and 11 deletions

View file

@ -1997,6 +1997,23 @@ pub fn constrain_decls(
constraint = constraints.let_constraint([], [], [], expect_constraint, constraint)
}
ExpectationFx => {
let loc_expr = &declarations.expressions[index];
let bool_type = Type::Variable(Variable::BOOL);
let expected =
Expected::ForReason(Reason::ExpectCondition, bool_type, loc_expr.region);
let expect_constraint = constrain_expr(
constraints,
&mut env,
loc_expr.region,
&loc_expr.value,
expected,
);
constraint = constraints.let_constraint([], [], [], expect_constraint, constraint)
}
Function(function_def_index) => {
constraint = constrain_function_def(
constraints,