From ee5d68a6cc2e77f273a95a65717f50e47f75b6a1 Mon Sep 17 00:00:00 2001 From: Folkert Date: Wed, 3 Mar 2021 22:31:17 +0100 Subject: [PATCH] better debug reporting --- compiler/mono/src/ir.rs | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/compiler/mono/src/ir.rs b/compiler/mono/src/ir.rs index b174ae70c4..a34fce9bd8 100644 --- a/compiler/mono/src/ir.rs +++ b/compiler/mono/src/ir.rs @@ -4686,27 +4686,11 @@ fn from_can_when<'a>( } let opt_branches = to_opt_branches(env, region, branches, layout_cache); - let cond_layout = match layout_cache.from_var(env.arena, cond_var, env.subs) { - Ok(cached) => cached, - Err(LayoutProblem::UnresolvedTypeVar(_)) => { - return Stmt::RuntimeError(env.arena.alloc(format!( - "UnresolvedTypeVar {} line {}", - file!(), - line!() - ))); - } - Err(LayoutProblem::Erroneous) => { - return Stmt::RuntimeError(env.arena.alloc(format!( - "Erroneous {} line {}", - file!(), - line!() - ))); - } - }; + let cond_layout = + return_on_layout_error!(env, layout_cache.from_var(env.arena, cond_var, env.subs)); - let ret_layout = layout_cache - .from_var(env.arena, expr_var, env.subs) - .unwrap_or_else(|err| panic!("TODO turn this into a RuntimeError {:?}", err)); + let ret_layout = + return_on_layout_error!(env, layout_cache.from_var(env.arena, expr_var, env.subs)); let arena = env.arena; let it = opt_branches