Skip to content

do...rescue causes crash #34

Description

@turion
defmodule Foo do
  @spec foo() :: any()

  def foo() do
    raise "Oh noez"
  rescue
    e -> IO.inspect(e)
  end
end
$ mix type
** (FunctionClauseError) no function clause matching in ExType.CustomEnv.save_def/3    
    
    The following arguments were given to ExType.CustomEnv.save_def/3:
    
        # 1
        ExType.Module.Foo
    
        # 2
        {:foo, [line: 4], []}
    
        # 3
        [do: {:raise, [line: 5], ["Oh noez"]}, rescue: [{:->, [line: 7], [[{:e, [line: 7], nil}], {{:., [line: 7], [{:__aliases__, [counter: -576460752303423325, line: 7], [:IO]}, :inspect]}, [line: 7], [{:e, [line: 7], nil}]}]}]]
    
    Attempted function clauses (showing 1 out of 1):
    
        def save_def(module, call, [do: block])
    
    lib/ex_type/custom_env.ex:129: ExType.CustomEnv.save_def/3
    lib/foo.ex:4: (module)
    (stdlib 3.12) erl_eval.erl:680: :erl_eval.do_apply/6

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions