diff options
author | Guilherme Andrade <[email protected]> | 2018-01-01 17:48:09 +0000 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2018-01-09 14:18:30 +0100 |
commit | 21214178d05ffa482d7377a22285b38834566d2c (patch) | |
tree | 61a470edf6c6ec3578412ba176f9cb78e111f189 /lib/stdlib/src/erl_lint.erl | |
parent | 276117e6322bb7cc299c9e22beec0016a32f7806 (diff) | |
download | otp-21214178d05ffa482d7377a22285b38834566d2c.tar.gz otp-21214178d05ffa482d7377a22285b38834566d2c.tar.bz2 otp-21214178d05ffa482d7377a22285b38834566d2c.zip |
Fix false Dialyzer warnings for erl_tar:table/1
'tar_entry()' values are only returned if we specify the 'verbose'
option when calling table/2, which table/1 doesn't do.
Now, it appears that Dialyzer as of OTP 20 is clever enough to realize
that the return type of table/1 must intersect with the return type of
table/2, and so it ignores the fact that table/1 says it returns
strings, and therefore its callers are expected to be dealing with
'tar_entry()' tuples, and never with strings.
This is obviously a mismatch between what the code does and what the
spec says is does, leading to false Dialyzer warnings on code that uses
table/1 (and, presumably, also table/2 when called without
the 'verbose' option.)
Diffstat (limited to 'lib/stdlib/src/erl_lint.erl')
0 files changed, 0 insertions, 0 deletions