Skip to content

dailydrip/specbug

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Specbug

If you are dumb and you type type instead of spec elixir gives you an error message that is not helpful, and your builds fail.

Here is how you can do that:

defmodule Specbug do
  # This should say spec, but your brain betrays you
  @type hello(String.t()) :: String.t()
  def hello(world) do
    world
  end
end

To see the error:

mix test
Compiling 1 file (.ex)

== Compilation error in file lib/specbug.ex ==
** (CompileError) lib/specbug.ex: internal error in lint_module;
crash reason: badarg

  in function  atom_to_list/1
     called as atom_to_list({'.',[{line,2}],
      [{'__aliases__',[{line,2},{counter,-576460752303422973}],['String']},
       t]})
  in call from erl_lint:'-check_type/2-fun-0-'/3 (erl_lint.erl, line 2808)
  in call from dict:fold_bucket/3 (dict.erl, line 460)
  in call from dict:fold_seg/4 (dict.erl, line 456)
  in call from dict:fold_segs/4 (dict.erl, line 452)
  in call from lists:foldl/3 (lists.erl, line 1263)
  in call from erl_lint:forms/2 (erl_lint.erl, line 689)
  in call from erl_lint:module/3 (erl_lint.erl, line 534)
    (stdlib) lists.erl:1338: :lists.foreach/2
    (stdlib) erl_eval.erl:670: :erl_eval.do_apply/6

This won't help you find your mistake!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages