diff options
Diffstat (limited to 'lib/dialyzer/test/small_SUITE_data/src/unsafe_beamcode_bug.erl')
-rw-r--r-- | lib/dialyzer/test/small_SUITE_data/src/unsafe_beamcode_bug.erl | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/dialyzer/test/small_SUITE_data/src/unsafe_beamcode_bug.erl b/lib/dialyzer/test/small_SUITE_data/src/unsafe_beamcode_bug.erl new file mode 100644 index 0000000000..071b4a53c1 --- /dev/null +++ b/lib/dialyzer/test/small_SUITE_data/src/unsafe_beamcode_bug.erl @@ -0,0 +1,14 @@ +-module(unsafe_beamcode_bug). +-export([test/1]). + +test(N) -> i(r(N)). + +%% this function cannot be exported, or the error does not occur +i({one}) -> ok1; +i({two, _}) -> ok2; +i({three, {_,R}, _}) -> R. + +r(1) -> {one}; +r(2) -> {two, 2}; +r(42)-> {dummy, 42}; % without this clause, no problem ... hmm +r(3) -> {three, {rec,ok3}, 2}. |