mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-27 13:59:08 +00:00
fix uniqueness bug
builtin defs were included twice, which threw off uniqueness inference
This commit is contained in:
parent
78d1a01742
commit
2df86b6438
3 changed files with 4 additions and 6 deletions
|
@ -153,12 +153,8 @@ pub fn canonicalize_module_defs<'a>(
|
|||
references.insert(*symbol);
|
||||
}
|
||||
|
||||
// Add defs for any referenced builtins.
|
||||
for (symbol, def) in builtin_defs(var_store) {
|
||||
if references.contains(&symbol) {
|
||||
defs.can_defs_by_symbol.insert(symbol, def);
|
||||
}
|
||||
}
|
||||
// NOTE previously we inserted builtin defs into the list of defs here
|
||||
// this is now done later, in file.rs.
|
||||
|
||||
match sort_can_defs(&mut env, defs, Output::default()) {
|
||||
(Ok(declarations), output) => {
|
||||
|
|
|
@ -67,6 +67,7 @@ pub fn constrain_decls(
|
|||
|
||||
// perform usage analysis on the whole file
|
||||
let mut var_usage = VarUsage::default();
|
||||
|
||||
for decl in decls.iter().rev() {
|
||||
// NOTE: rigids are empty because they are not shared between top-level definitions
|
||||
match decl {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
app Quicksort provides [ quicksort ] imports []
|
||||
|
||||
quicksort = \originalList ->
|
||||
|
||||
quicksortHelp : List (Num a), Int, Int -> List (Num a)
|
||||
quicksortHelp = \list, low, high ->
|
||||
if low < high then
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue