mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-03 19:58:18 +00:00
![]() This fixes a bug in the list pattern matching code that caused crashes in the presence of list guards, and simplifies the pattern splitting algorithm to avoid complexity and allocations. Previously we would place arguments-to-be-matched of constructors and lists at the front of specialized rows for exhaustiveness checking, but at the back for redundancy checking. Now, we always place them at the back - this avoids needless allocation, and is not any worse, since we can still recover the non-exhaustive witnesses by looking at the end of a list, instead of the front. |
||
---|---|---|
.. | ||
src | ||
Cargo.toml |