elem_in_list

This commit is contained in:
Folkert 2020-04-04 16:38:41 +02:00
parent 200adae507
commit f8b3d5dce7
5 changed files with 63 additions and 8 deletions

View file

@ -202,9 +202,12 @@ pub fn constrain_expr(
let list_elem_type = Type::Variable(*elem_var);
let mut constraints = Vec::with_capacity(1 + loc_elems.len());
for loc_elem in loc_elems {
let elem_expected =
ForReason(Reason::ElemInList, list_elem_type.clone(), region);
for (index, loc_elem) in loc_elems.iter().enumerate() {
let elem_expected = ForReason(
Reason::ElemInList { index },
list_elem_type.clone(),
loc_elem.region,
);
let constraint =
constrain_expr(env, loc_elem.region, &loc_elem.value, elem_expected);