diff options
author | Stavros Aronis <[email protected]> | 2012-11-16 18:33:45 +0100 |
---|---|---|
committer | Stavros Aronis <[email protected]> | 2012-11-17 20:08:02 +0100 |
commit | 6f990318a43bfeda392b9bc146c7b1ac757ca644 (patch) | |
tree | eafbf9a439b37cbd312185608a7bc01cfc115522 /lib/hipe/cerl | |
parent | 55c2b0b6d55fe6a011671832b5529cb1c7b636a8 (diff) | |
download | otp-6f990318a43bfeda392b9bc146c7b1ac757ca644.tar.gz otp-6f990318a43bfeda392b9bc146c7b1ac757ca644.tar.bz2 otp-6f990318a43bfeda392b9bc146c7b1ac757ca644.zip |
Fix precision of record creation violation warnings
Before patch Dialyzer was reporting all the fields that were not subtypes
of the declared ones as incorrect. The correct violations are for the fields
whose intersection with the declared ones is empty.
Diffstat (limited to 'lib/hipe/cerl')
-rw-r--r-- | lib/hipe/cerl/erl_types.erl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/hipe/cerl/erl_types.erl b/lib/hipe/cerl/erl_types.erl index bc7ea17077..f5be8fb08f 100644 --- a/lib/hipe/cerl/erl_types.erl +++ b/lib/hipe/cerl/erl_types.erl @@ -3432,7 +3432,7 @@ record_field_diffs_to_string(?tuple([_|Fs], Arity, Tag), RecDict) -> field_diffs([F|Fs], [{FName, DefType}|FDefs], RecDict, Acc) -> NewAcc = - case t_is_subtype(F, DefType) of + case not t_is_none(t_inf(F, DefType)) of true -> Acc; false -> Str = atom_to_string(FName) ++ "::" ++ t_to_string(DefType, RecDict), |