In a project with about 6000 lines of Erlang code but no type -spec() annotation yet I tried the following:
typer --annotate *.erl
The I replaced all *.erl files with the annotated ones and ran
dialyzer --src -c *.erl
I expected to get lots of warnings (ran the dialyzer/typer combination the first time) but after doing its thing all dialyzer reported were 2 old calls in user_default to meanwhile nonexistent functions.
No other of the default warnings did trigger.
Did I make a mistake using it or is a result like this common?
Is the combination of auto annotation with typer and dialyzer not so useful or am I just lucky and my code doesn’t have issues?
Sidenote: I had to comment out 3 or 4 -spec()s because dialyzer crashed on them.
I’m using Dialyzer v2.2.0 and TypEr version v0.1.7.4 from Erlang R13B04
As a side effect of reporting a bug on the erlang-bugs list I got an detailed answer this from Kostis Sagonas, the inventor of dialyzer and typer.
To my side question I got the following great and detailed answer:
Since he refers to a code fragment, I included in my bug report, I include it here. The following code fragment was automatically annotated by
typer --annotate: