mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-27 22:09:09 +00:00
Fix crash caused by number related type error
This fixes an issue where number related type errors cause a crash. For example, using a negative number for `Nat` like List.dropAt [1, 2, 3] -1` as in #5916. so as f64 number.
This commit is contained in:
parent
c5a6f058df
commit
75dff53cc8
1 changed files with 7 additions and 3 deletions
|
@ -9268,9 +9268,13 @@ fn assign_num_literal_expr<'a>(
|
||||||
num_value: IntOrFloatValue,
|
num_value: IntOrFloatValue,
|
||||||
hole: &'a Stmt<'a>,
|
hole: &'a Stmt<'a>,
|
||||||
) -> Stmt<'a> {
|
) -> Stmt<'a> {
|
||||||
let layout = layout_cache
|
let layout = match layout_cache.from_var(env.arena, variable, env.subs) {
|
||||||
.from_var(env.arena, variable, env.subs)
|
Ok(layout) => layout,
|
||||||
.unwrap();
|
Err(_) => match num_value {
|
||||||
|
IntOrFloatValue::Float(_) => Layout::default_float(),
|
||||||
|
IntOrFloatValue::Int(_) => Layout::default_integer(),
|
||||||
|
},
|
||||||
|
};
|
||||||
let literal =
|
let literal =
|
||||||
make_num_literal(&layout_cache.interner, layout, num_str, num_value).to_expr_literal();
|
make_num_literal(&layout_cache.interner, layout, num_str, num_value).to_expr_literal();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue