BUGFIX: Found a bug in deep equality for lists :-(

This commit is contained in:
Jeremy Wall 2019-01-08 19:26:56 -06:00
parent 544cd1572e
commit 1b45066f39
3 changed files with 19 additions and 1 deletions

View File

@ -80,6 +80,14 @@ assert |
tpl4 != less; tpl4 != less;
|; |;
assert |
[[1, 2, [3]], 4] == [[1, 2, [3]], 4];
|;
assert |
[[1, 2, [3]], 4] != [[1, 2, [6]], 4];
|;
// Expression comparisons // Expression comparisons
assert |2 == 1+1;|; assert |2 == 1+1;|;
assert |(1+1) == 2;|; assert |(1+1) == 2;|;

View File

@ -22,6 +22,14 @@ assert |
reduce identity_list_reducer.result [], list1 == list1; reduce identity_list_reducer.result [], list1 == list1;
|; |;
let nested_list = {
list = list1,
};
assert |
reduce identity_list_reducer.result [], (nested_list.list) == list1;
|;
let list_reducer = macro(acc, item) => { let list_reducer = macro(acc, item) => {
result = acc + item, result = acc + item,
}; };

View File

@ -73,7 +73,9 @@ impl Val {
Ok(false) Ok(false)
} else { } else {
for (i, lv) in ldef.iter().enumerate() { for (i, lv) in ldef.iter().enumerate() {
lv.equal(rdef[i].as_ref(), pos.clone())?; if !lv.equal(rdef[i].as_ref(), pos.clone())? {
return Ok(false);
}
} }
Ok(true) Ok(true)
} }