blob: 6ac29116a5e019910d30033ab6b6b9417a8ae938 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
%%---------------------------------------------------------------------
%% Module that went into an infinite loop when trying to assign types.
%%
%% What was happening is that for functions which are in an SCC but all
%% return none(), a second chance was given to them by the analysis to
%% see whether they return none() because they are involved in an loop
%% (presumably server-related) and could be assigned the type unit()
%% instead. The problem is that when the really return none() for some
%% other reason (an error such in this case) then we will again find
%% none() and try again for unit(), thereby entering an infinite loop.
%% The issue was resolved on May 17th by adding an appropriate boolean
%% parameter to dialyzer_typesig:solve_scc() function.
%%---------------------------------------------------------------------
-module(inf_loop2).
-export([test/0]).
test() ->
lists:reverse(gazonk),
loop().
loop() ->
test().
|