mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-29 06:44:46 +00:00
Mark flex fx vars as pure after solving body
This commit is contained in:
parent
89a918cebe
commit
2859829ea8
3 changed files with 33 additions and 0 deletions
|
@ -243,6 +243,7 @@ fn constrain_untyped_closure(
|
|||
),
|
||||
early_returns_constraint,
|
||||
closure_constraint,
|
||||
Constraint::FlexToPure(fx_var),
|
||||
];
|
||||
|
||||
constraints.exists_many(vars, cons)
|
||||
|
@ -3042,6 +3043,7 @@ fn constrain_typed_def(
|
|||
constraints.store(signature_index, *fn_var, std::file!(), std::line!()),
|
||||
constraints.store(signature_index, expr_var, std::file!(), std::line!()),
|
||||
closure_constraint,
|
||||
Constraint::FlexToPure(fx_var),
|
||||
];
|
||||
|
||||
let expr_con = constraints.exists_many(vars, cons);
|
||||
|
@ -4022,6 +4024,7 @@ fn constraint_recursive_function(
|
|||
constraints.store(signature_index, expr_var, std::file!(), std::line!()),
|
||||
constraints.store(ret_type_index, ret_var, std::file!(), std::line!()),
|
||||
closure_constraint,
|
||||
Constraint::FlexToPure(fx_var),
|
||||
];
|
||||
|
||||
let and_constraint = constraints.and_constraint(cons);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue