summaryrefslogtreecommitdiff
path: root/lib/stdlib/test/erl_lint_SUITE.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <bjorn@erlang.org>2023-03-13 14:02:41 +0100
committerBjörn Gustavsson <bjorn@erlang.org>2023-03-15 10:08:39 +0100
commitf7c11e4e4c4e9c11bf0c319fe24c5491de30120e (patch)
treea4867304b0d010a014435cd8fd854b6e7e7e61a4 /lib/stdlib/test/erl_lint_SUITE.erl
parenta8476649e58890ffd0d0ab9737684935b00636c7 (diff)
downloaderlang-f7c11e4e4c4e9c11bf0c319fe24c5491de30120e.tar.gz
Eliminate false warning for re-defined and unused type
Closes #6997
Diffstat (limited to 'lib/stdlib/test/erl_lint_SUITE.erl')
-rw-r--r--lib/stdlib/test/erl_lint_SUITE.erl34
1 files changed, 33 insertions, 1 deletions
diff --git a/lib/stdlib/test/erl_lint_SUITE.erl b/lib/stdlib/test/erl_lint_SUITE.erl
index 93595459d4..3d5f081cc5 100644
--- a/lib/stdlib/test/erl_lint_SUITE.erl
+++ b/lib/stdlib/test/erl_lint_SUITE.erl
@@ -5095,7 +5095,39 @@ redefined_builtin_type(Config) ->
{{5,16},erl_lint,{redefine_builtin_type,{port,0}}},
{{6,16},erl_lint,{redefine_builtin_type,{float,0}}},
{{7,16},erl_lint,{redefine_builtin_type,{iodata,0}}}
- ]}}
+ ]}},
+ {redef6,
+ <<"-spec bar(function()) -> bar().
+ bar({function, F}) -> F().
+ -type function() :: {function, fun(() -> bar())}.
+ -type bar() :: {bar, binary()}.
+ ">>,
+ [],
+ {warnings,[{{3,16},erl_lint,
+ {redefine_builtin_type,{function,0}}}]}},
+ {redef7,
+ <<"-type function() :: {function, fun(() -> bar())}.
+ -type bar() :: {bar, binary()}.
+ -spec bar(function()) -> bar().
+ bar({function, F}) -> F().
+ ">>,
+ [],
+ {warnings,[{{1,22},erl_lint,
+ {redefine_builtin_type,{function,0}}}]}},
+ {redef8,
+ <<"-type function() :: {function, fun(() -> atom())}.
+ ">>,
+ [],
+ {warnings,[{{1,22},erl_lint,
+ {redefine_builtin_type,{function,0}}},
+ {{1,22},erl_lint,
+ {unused_type,{function,0}}}]}},
+ {redef9,
+ <<"-spec foo() -> fun().
+ foo() -> fun() -> ok end.
+ ">>,
+ [],
+ []}
],
[] = run(Config, Ts),
ok.