aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/test/small_SUITE_data/results
AgeCommit message (Collapse)Author
2014-05-26Merge branch 'maint'Björn-Egil Dahlberg
2014-04-29dialyzer: Add Maps type mismatch testBjörn-Egil Dahlberg
2014-04-28Introduce the attribute -optional_callbacks in the context of behavioursHans Bolinder
2014-03-28Dialyzer now plays nicely with funs that come as "external" argumentsStavros Aronis
Two steps are needed to make this work: 1) Avoid generating the additional "apply_constraint" in dialyzer_typesig by reporting every function argument as a potential external function (patch on dialyzer_dep). This will produce correct success typings for all functions in the test case, but dataflow would miss the key warnings that help identify the bugs. 2) Patch dialyzer_dataflow so that it uses the "handle just external" path as a fallback whenever there are any external calls. As a result, if we have info about some paths, then: a) use the old "handle known apply" code to mark these functions as used and b) ignore the generalized result and use the one found by typesig for the return value of the apply itself.
2014-03-26Merge branch 'aronisstav/hipe/opaque_fix'Hans Bolinder
* aronisstav/hipe/opaque_fix: Don't 'opaque-decorate' a success typing using an incompatible spec
2014-03-24Don't 'opaque-decorate' a success typing using an incompatible specStavros Aronis
Without this patch Dialyzer crashes when analyzing the supplemented test case.
2014-03-21dialyzer: generalize guard constraints in a new wayHans Bolinder
Guard constraints used to be limited to a certain depth, which handled mutually depending constraints safely, but also sometimes introduced unnecessary generalizations. This patch puts no explicit limit upon guard constraints (other than those that already exist in erl_types), but breaks cycles by replacing variables with the any() type. In some cases the old method resulted in more warnings, but since the limit was quite arbitrary and mutually depending guard constraints are (very) rare, the new method should been seen as an improvement since it handles cases that used to make Dialyzer loop or miss warnings.
2014-02-23Deprecate pre-defined built-in typesHans Bolinder
The types array(), dict(), digraph(), gb_set(), gb_tree(), queue(), set(), and tid() have been deprecated. They will be removed in OTP 18.0. Instead the types array:array(), dict:dict(), digraph:graph(), gb_set:set(), gb_tree:tree(), queue:queue(), sets:set(), and ets:tid() can be used. (Note: it has always been necessary to use ets:tid().) It is allowed in OTP 17.0 to locally re-define the types array(), dict(), and so on. New types array:array/1, dict:dict/2, gb_sets:set/1, gb_trees:tree/2, queue:queue/1, and sets:set/1 have been added.
2014-02-22Introduce parameterized opaque typesHans Bolinder
Handle immediate opaque types as aliases: A declaration of dict/0 -opaque dict() :: dict(_, _). -opaque dict(Key, Value) :: ... is handled as an alias, that is, when using dict() it is immediately replaced by dict(_, _). This is a means to avoid having to handle equivalent opaque types later. To be changed if it doesn't work well.
2013-12-12Test named funsAnthony Ramine
2013-10-09Add some more comments about what the test doesKostis Sagonas
This changed the lines so the results now differ.
2013-03-06Include module, function and arity in Dialyzer's "overlapping domain" warningsMagnus Henoch
The function name can give information that the line number doesn't, for example when using a parse transform that creates new functions.
2013-02-21Introduce new type file:name_all()Hans Bolinder
2013-02-15Support for types with the same name and different arityStavros Aronis
2013-02-13Make the file:filename() type more restrictiveBjörn Gustavsson
The recommended type for filenames is a list of characters (which may be Unicode characters greater than 255). Change the file:filename() to reflect that. For the filename module we still need a type that can be either a string or a binary, so we need to introduce the type file:filename_all().
2013-01-25Testcase expecting newlineFredrik Gustafsson
2013-01-25Merge branch 'sa/dialyzer-unknown-arity-funs/OTP-10772'Fredrik Gustafsson
* sa/dialyzer-unknown-arity-funs/OTP-10772: Update one more unused funs result as per ffe582b Remove pubsub and comm_layer tests from testsuite Properly support functions with arbitrary arity in type specs. Conflicts: lib/hipe/cerl/erl_types.erl
2013-01-23Update one more unused funs result as per ffe582bStavros Aronis
2013-01-23Remove pubsub and comm_layer tests from testsuiteStavros Aronis
These tests recently broke because of the deprecation of the package system. Furthermore, they included copyrighted code. Finally they were not minimized not targeted to any specific feature and had no warnings being reported.
2013-01-23Fixed merge issueFredrik Gustafsson
2013-01-23Merge branch 'sa/dialyzer-list-spec/OTP-10740'Fredrik Gustafsson
* sa/dialyzer-list-spec/OTP-10740: Report spec discrepancy on mismatching lists Properly support functions with arbitrary arity in type specs. Conflicts: lib/dialyzer/test/small_SUITE_data/results/empty_list_infimum
2013-01-23Report spec discrepancy on mismatching listsStavros Aronis
2013-01-22Merge branch 'sa/dialyzer-list-spec/OTP-10740'Fredrik Gustafsson
* sa/dialyzer-list-spec/OTP-10740: Report spec discrepancy on mismatching lists
2013-01-15Merge branch 'sa/dialyzer-record-field-type/OTP-10681'Fredrik Gustafsson
* sa/dialyzer-record-field-type/OTP-10681: Fix precision of record creation violation warnings
2013-01-11small_SUITE: Update warnings for port functionsBjörn Gustavsson
2012-12-20Report spec discrepancy on mismatching listsStavros Aronis
This patch enables Dialyzer to detect cases where a function has a specification for a return type containing some list with elements different than the ones Dialyzer's own algorithm can infer e.g. a function specified to return [atom()] when actually [[atom()]] is returned. Previously Dialyzer remained silent, under normal operation, seeing that these two types have the empty list as a common element, so they were not 'completely irrelevant'.
2012-11-17Fix precision of record creation violation warningsStavros Aronis
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.
2012-10-03Merge branch 'maint'Henrik Nord
2012-09-26Fix handling of tuple set remote types appearing in tuple setsStavros Aronis
Originally reported by Joseph Wayne Norton, simplified testcase provided by Hans Bolinder.
2012-09-24dialyzer: Do not output warnings for unused funsHans Bolinder
Dialyzer no longer outputs warnings for unused anonymous functions ("funs"). Warnings are still output for unused functions. Funs in functions with -nowarn_unused_function attributes generated warnings for unused functions. Unused list comprehensions also generated warnings for unused funs.
2012-05-08Merge branch 'sa/dialyzer-contract-variables' into maintHenrik Nord
* sa/dialyzer-contract-variables: Correct handling of type names in contracts Don't rewrite unchanged PLT Fix crash related to contract checking OTP-10083
2012-04-24Correct handling of type names in contractsStavros Aronis
Variables in contracts can either be true type variables or simply names for types thet are defined in the 'when' clauses. Consider the following example: -spec foo(X, Options) -> {ok, X} | error when Options :: [{atom(), boolean()}]. Here X is a true variable whereas Options is a name for a type that is defined in the when clause. 'when' clauses may further use names on the right side. These were not treated properly by Dialyzer and could be generalized to the term() type. This patch fixes this issue. A further issue is the treatment of true type variables, but this is left for another patch.
2012-04-17Correct documentation, erl_bif_types and dialyzer testsPatrik Nyblom
2012-04-17Extend erlang:port_info/1,2 to show the OS pid of a spawned processMatthias Lang
When spawning OS (unix) processes with erlang:open_port, store the resulting unix pid so that it can be queried later on using erlang:port_info/1,2.
2012-02-22Zero-arity unused functions Dialyzer patchStavros Aronis
Dialyzer was not reporting unused functions with 0 arity. This was not a real issue, until we found out that there could be cases where this could lead to false warnings. This was the case in "no_local_return.erl".
2011-10-14Fix false warning about closure applicationStavros Aronis
Whenever a variable that could hold one of two or more possible closures was used in a particular application, the application was assumed to fail if ONE of the closures would fail in this application. This has been corrected to infer failing application if ALL possible closures would fail in the particular application.
2011-10-14Change category of 'might also return' warningsStavros Aronis
Dialyzer emits warnings like the following "The specification for _ states that the function might also return _ but the inferred return is _", which are actually underspecifications and not wrong type specifications. This patch makes sure that they are filed under the appropriate category.
2011-09-19Update Dialyzer's reference resultsStavros Aronis
2011-08-29Suppress some warnings about generation of non-returning funsStavros Aronis
No warnings are emitted for funs that are non-returning when the function that generates them has a contract that specifies that it will return such a non-returning fun. The actual bug, reported by Tuncer Ayaz and simplified by Maria Christakis is included in Dialyzer's tests.
2011-08-29Enhance Dialyzer's inference on comparisonsStavros Aronis
This patch makes Dialyzer aware of Erlang's total ordering of terms, enabling discrepancy detection in cases where e.g. integer() < tuple() is treated as a comparison that might also return false (when it is certain to always return true).
2011-08-29Fix infinite loop in dataflowStavros Aronis
2011-08-01Update results of small_SUITE/flattenStavros Aronis
2011-05-04Add small/tuple_set_crashStavros Aronis
2011-05-04Add small/refine_failingStavros Aronis
2011-05-04Add small/not_bogus_warningStavros Aronis
2011-05-04Add small/none_scc_inf_loopStavros Aronis
2011-05-04Add small/guardsStavros Aronis
2011-05-04Add small/guard_warningsStavros Aronis
2011-05-04Add small/confusing_record_warningStavros Aronis
2011-05-04Add small/blame_contract_rangeStavros Aronis