aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/test/small_tests_SUITE_data/src/trec.erl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dialyzer/test/small_tests_SUITE_data/src/trec.erl')
-rw-r--r--lib/dialyzer/test/small_tests_SUITE_data/src/trec.erl37
1 files changed, 0 insertions, 37 deletions
diff --git a/lib/dialyzer/test/small_tests_SUITE_data/src/trec.erl b/lib/dialyzer/test/small_tests_SUITE_data/src/trec.erl
deleted file mode 100644
index b36b0cafba..0000000000
--- a/lib/dialyzer/test/small_tests_SUITE_data/src/trec.erl
+++ /dev/null
@@ -1,37 +0,0 @@
-%%
-%% The current treatment of typed records leaves much to be desired.
-%% These are not made up examples; I have cases like that the branch
-%% of the HiPE compiler with types in records. I get very confusing
-%% warnings which require a lot of effort to find their cause and why
-%% a function has no local return.
-%%
--module(trec).
--export([test/0, mk_foo_exp/2]).
-
--record(foo, {a :: integer(), b :: [atom()]}).
-
-%%
-%% For these functions we currently get the following warnings:
-%% 1. Function test/0 has no local return
-%% 2. The call trec:mk_foo_loc(42,any()) will fail since it differs
-%% in argument position 1 from the success typing arguments:
-%% ('undefined',atom())
-%% 3. Function mk_foo_loc/2 has no local return
-%%
-%% Arguably, the second warning is not what most users have in mind
-%% when they wrote the type declarations in the 'foo' record, so no
-%% doubt they'll find it confusing. But note that it is also inconsistent!
-%% How come there is a success typing for a function that has no local return?
-%%
-test() ->
- mk_foo_loc(42, bar:f()).
-
-mk_foo_loc(A, B) ->
- #foo{a = A, b = [A,B]}.
-
-%%
-%% For this function we currently get "has no local return" but we get
-%% no reason; I want us to get a reason.
-%%
-mk_foo_exp(A, B) when is_integer(A) ->
- #foo{a = A, b = [A,B]}.