diff options
author | Hans Bolinder <[email protected]> | 2014-05-13 08:31:19 +0200 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2014-06-17 12:32:51 +0200 |
commit | 8498a35ce141c6e16feed198540b910b9475b2e2 (patch) | |
tree | 1f460c322886ce3f949fedfc753c59bd5973d5c2 /lib/dialyzer/test/r9c_SUITE_data | |
parent | e2961080386045f3e4ef59d9895b680ccdc4fbe4 (diff) | |
download | otp-8498a35ce141c6e16feed198540b910b9475b2e2.tar.gz otp-8498a35ce141c6e16feed198540b910b9475b2e2.tar.bz2 otp-8498a35ce141c6e16feed198540b910b9475b2e2.zip |
[dialyzer] Fix handling of literal records
This ticket is about records in Erlang code, and when to check the
fields against the (optional) types given when defining records.
Dialyzer operates on the Erlang Core format, where there are no trace
of records. The fix implemented is a Real Hack:
Given the new option 'dialyzer' erl_expand_records marks the line
number of records in a way that is undone by v3_core, which in turn
inserts annotations that can be recognized by Dialyzer.
Diffstat (limited to 'lib/dialyzer/test/r9c_SUITE_data')
-rw-r--r-- | lib/dialyzer/test/r9c_SUITE_data/results/asn1 | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/dialyzer/test/r9c_SUITE_data/results/asn1 b/lib/dialyzer/test/r9c_SUITE_data/results/asn1 index c11105b76d..1cf03346ee 100644 --- a/lib/dialyzer/test/r9c_SUITE_data/results/asn1 +++ b/lib/dialyzer/test/r9c_SUITE_data/results/asn1 @@ -5,7 +5,7 @@ asn1ct.erl:1673: The pattern 'all' can never match the type 'asn1_module' | 'exc asn1ct.erl:672: The pattern <{'false', Result}, _, _> can never match the type <{'true','true'},atom() | binary() | [atom() | [any()] | char()],[any()]> asn1ct.erl:909: Guard test is_atom(Ext::[49 | 97 | 98 | 100 | 110 | 115]) can never succeed asn1ct_check.erl:1698: The pattern {'error', _} can never match the type [any()] -asn1ct_check.erl:2733: The pattern {'type', Tag, _, _, _, _} can never match the type 'ASN1_OPEN_TYPE' | {_,_} | {'fixedtypevaluefield',_,_} +asn1ct_check.erl:2733: Matching of pattern {'type', Tag, _, _, _, _} tagged with a record name violates the declared type of 'ASN1_OPEN_TYPE' | {_,_} | {'fixedtypevaluefield',_,_} asn1ct_check.erl:2738: The pattern <_S, _> can never match since previous clauses completely covered the type <#state{},#'ObjectClassFieldType'{class::#objectclass{fields::maybe_improper_list() | {_,_,_,_}},fieldname::{_,maybe_improper_list()},type::'ASN1_OPEN_TYPE' | {_,_} | {'fixedtypevaluefield',_,_}}> asn1ct_check.erl:2887: The variable Other can never match since previous clauses completely covered the type any() asn1ct_check.erl:3188: The pattern <_S, [], B> can never match the type <#state{},{'SingleValue',_},{'ValueRange',_}> |