diff --git a/lib/elixir/lib/module/types/expr.ex b/lib/elixir/lib/module/types/expr.ex index dc6c0638e6..225f50309b 100644 --- a/lib/elixir/lib/module/types/expr.ex +++ b/lib/elixir/lib/module/types/expr.ex @@ -596,7 +596,8 @@ defmodule Module.Types.Expr do {opt_union(body_type, acc), Of.reset_vars(context, original)} else error = {:badtimeout, timeout_type, timeout, context} - {opt_union(body_type, acc), error(__MODULE__, error, meta, stack, context)} + context = error(__MODULE__, error, meta, stack, context) + {opt_union(body_type, acc), Of.reset_vars(context, original)} end end) |> dynamic_unless_static(stack)