Fix lambda set numbering issue

This commit is contained in:
Richard Feldman 2023-07-17 14:09:17 -04:00
parent ecf728a3f6
commit aafefb12b2
No known key found for this signature in database
GPG key ID: F1F21AA5B1D9E43B

View file

@ -10028,8 +10028,12 @@ pub fn find_lambda_sets_help(
stack.extend(subs.get_subs_slice(*arguments).iter().rev()); stack.extend(subs.get_subs_slice(*arguments).iter().rev());
} }
FlatType::Func(arguments, lambda_set_var, ret_var) => { FlatType::Func(arguments, lambda_set_var, ret_var) => {
result.insert(*lambda_set_var, lambda_set_id); use std::collections::hash_map::Entry;
lambda_set_id = lambda_set_id.next(); // Only insert a lambda_set_var if we didn't already have a value for this key.
if let Entry::Vacant(entry) = result.entry(*lambda_set_var) {
entry.insert(lambda_set_id);
lambda_set_id = lambda_set_id.next();
}
let arguments = &subs.variables[arguments.indices()]; let arguments = &subs.variables[arguments.indices()];