aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe
diff options
context:
space:
mode:
authorStavros Aronis <[email protected]>2012-11-16 18:33:45 +0100
committerStavros Aronis <[email protected]>2012-11-17 20:08:02 +0100
commit6f990318a43bfeda392b9bc146c7b1ac757ca644 (patch)
treeeafbf9a439b37cbd312185608a7bc01cfc115522 /lib/hipe
parent55c2b0b6d55fe6a011671832b5529cb1c7b636a8 (diff)
downloadotp-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')
-rw-r--r--lib/hipe/cerl/erl_types.erl2
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),