Fix soft casting case

This commit is contained in:
microproofs 2024-09-12 15:02:30 -04:00
parent 49ef3a740c
commit 30e66be568
No known key found for this signature in database
GPG Key ID: 14F93C84DE6AFD17
1 changed files with 8 additions and 2 deletions

View File

@ -666,13 +666,14 @@ impl<'a> CodeGenerator<'a> {
self.build(final_else, module_build_name, &[]), self.build(final_else, module_build_name, &[]),
|acc, branch| { |acc, branch| {
let condition = self.build(&branch.condition, module_build_name, &[]); let condition = self.build(&branch.condition, module_build_name, &[]);
let body = self.build(&branch.body, module_build_name, &[]);
match &branch.is { match &branch.is {
Some((pattern, tipo)) => { Some((pattern, tipo)) => {
introduce_pattern(&mut self.interner, pattern); introduce_pattern(&mut self.interner, pattern);
self.interner.intern("acc_var".to_string()); self.interner.intern("acc_var".to_string());
let body = self.build(&branch.body, module_build_name, &[]);
let acc_var = let acc_var =
self.interner.lookup_interned(&"acc_var".to_string()); self.interner.lookup_interned(&"acc_var".to_string());
@ -703,7 +704,12 @@ impl<'a> CodeGenerator<'a> {
tree tree
} }
None => AirTree::if_branch(tipo.clone(), condition, body, acc), None => AirTree::if_branch(
tipo.clone(),
condition,
self.build(&branch.body, module_build_name, &[]),
acc,
),
} }
}, },
) )