fix not being able to dbg variable

This commit is contained in:
Folkert 2022-11-25 17:55:01 +01:00
parent 74e1bc412f
commit 07b7a93b9f
No known key found for this signature in database
GPG key ID: 1F17F6FFD112B97C
3 changed files with 26 additions and 10 deletions

View file

@ -6570,16 +6570,24 @@ pub fn from_can<'a>(
let expr = Expr::Call(call);
let mut stmt = Stmt::Let(dbg_symbol, expr, dbg_layout, env.arena.alloc(rest));
stmt = with_hole(
env,
loc_condition.value,
variable,
procs,
layout_cache,
dbg_symbol,
env.arena.alloc(stmt),
let symbol_is_reused = matches!(
can_reuse_symbol(env, procs, &loc_condition.value, variable),
ReuseSymbol::Value(_)
);
// skip evaluating the condition if it's just a symbol
if !symbol_is_reused {
stmt = with_hole(
env,
loc_condition.value,
variable,
procs,
layout_cache,
dbg_symbol,
env.arena.alloc(stmt),
);
}
stmt
}