File 5792-dialzyzer-Add-failing-test-that-demostrate-that-no_m.patch of Package erlang
From 2694c5f307406a7ec456baef6eeab84d3fb7e241 Mon Sep 17 00:00:00 2001
From: Gonzalo Bella <gonzalobfmp@gmail.com>
Date: Thu, 9 Jun 2022 11:03:57 +0100
Subject: [PATCH 2/3] dialzyzer: Add failing test that demostrate that
no_missing_return and no_extra_return are missing
---
.../test/extra_return_SUITE_data/src/extra_return.erl | 11 ++++++++++-
.../missing_return_SUITE_data/src/missing_return.erl | 11 ++++++++++-
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/lib/dialyzer/test/extra_return_SUITE_data/src/extra_return.erl b/lib/dialyzer/test/extra_return_SUITE_data/src/extra_return.erl
index 7c51512145..4cebbab02e 100644
--- a/lib/dialyzer/test/extra_return_SUITE_data/src/extra_return.erl
+++ b/lib/dialyzer/test/extra_return_SUITE_data/src/extra_return.erl
@@ -1,6 +1,6 @@
-module(extra_return).
--export([t1/0]).
+-export([t1/0, t2/0]).
% Should warn about having `undefined` as return value when it is not returned by the function
@@ -10,3 +10,12 @@ t1() ->
1 -> true;
2 -> false
end.
+
+% Should not warn about extra return
+-dialyzer({no_extra_return, t2/0}).
+-spec t2() -> true | false | 'other'.
+t2() ->
+ case rand:uniform(2) of
+ 1 -> true;
+ 2 -> false
+ end.
diff --git a/lib/dialyzer/test/missing_return_SUITE_data/src/missing_return.erl b/lib/dialyzer/test/missing_return_SUITE_data/src/missing_return.erl
index 1f0dfe6176..64e7766c83 100644
--- a/lib/dialyzer/test/missing_return_SUITE_data/src/missing_return.erl
+++ b/lib/dialyzer/test/missing_return_SUITE_data/src/missing_return.erl
@@ -1,6 +1,6 @@
-module(missing_return).
--export([t1/0]).
+-export([t1/0, t2/0]).
% Should warn about only having true when also false is returned
@@ -10,3 +10,12 @@ t1() ->
1 -> true;
2 -> false
end.
+
+% Should not warn about missing return
+-dialyzer({no_missing_return, t2/0}).
+-spec t2() -> true.
+t2() ->
+ case rand:uniform(2) of
+ 1 -> true;
+ 2 -> false
+ end.
--
2.35.3