[erlang-bugs] dialyzer false positive io_lib:fread

Hans Bolinder <>
Thu Aug 22 08:34:12 CEST 2013


[Chris King:]
> dialyzer produces a false positive when analyzing io_lib:fread with a ~a
> argument – it believes (erroneously) that the parsed value will be a
> string, when in fact it will be an atom.  This does not occur with
> io:fread, or with io_lib:fread with an integer argument.

> The behaviour you are experiencing is a side-effect of the type and spec
> declarations that exist in modules io_lib and io_lib_fread

Thanks for the bug report. I've corrected the specs of io_lib:fread().
The fix should appear on the 'maint' branch soon.

Best regards,

Hans Bolinder, Erlang OTP team, Ericsson

More information about the erlang-bugs mailing list