roc/crates/compiler/constrain/src
Ayaz Hafiz 1799d6ed0e
Construct exhaustiveness branches with condition, not branch, variable
Previously we would construct the shapes of unions used in the pattern
tree for exhaustiveness checking using the type of the branch patterns,
rather than the type of the condition variable. Clearly we want to
always use the condition variable, otherwise some branches will be
seen as exhaustive, when they are not!

To do this, we now index into the condition variable while refying the
patterns to build the tree for exhaustiveness checking.

Closes #4068
2022-09-19 13:37:59 -05:00
..
builtins.rs Rename Category::Float to Category::Frac 2022-07-20 10:49:05 -04:00
expr.rs Construct exhaustiveness branches with condition, not branch, variable 2022-09-19 13:37:59 -05:00
lib.rs s/rtfeldman/roc-lang/g in links to GitHub repos 2022-08-12 15:24:09 -04:00
module.rs Remove constrain_builtin_imports 2022-07-10 10:46:18 -04:00
pattern.rs Make sure to apply "is-open" constraints at the very end of pattern constraining 2022-07-22 12:57:27 -04:00