aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2017-05-22 15:22:32 +0200
committerHans Bolinder <[email protected]>2017-05-22 15:22:32 +0200
commitdfbefdcc85b2785e4d2280c1b70de8fd14a6778d (patch)
tree10a062d0060eed5ae83dfffdfea290c1ef94753a /lib/stdlib/src
parent7247cb6fa047ca7c968b88f279832f39ea0b04f7 (diff)
parent838dde1e27ee6a6debf74cf2370b2284f618b348 (diff)
downloadotp-dfbefdcc85b2785e4d2280c1b70de8fd14a6778d.tar.gz
otp-dfbefdcc85b2785e4d2280c1b70de8fd14a6778d.tar.bz2
otp-dfbefdcc85b2785e4d2280c1b70de8fd14a6778d.zip
Merge branch 'hasse/stdlib/linter_check_dialyzer/OTP-14323'
* hasse/stdlib/linter_check_dialyzer/OTP-14323: stdlib: Warn for bad type variables of parameterized types
Diffstat (limited to 'lib/stdlib/src')
-rw-r--r--lib/stdlib/src/erl_parse.yrl3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/stdlib/src/erl_parse.yrl b/lib/stdlib/src/erl_parse.yrl
index 2dcddeb8c2..733932e711 100644
--- a/lib/stdlib/src/erl_parse.yrl
+++ b/lib/stdlib/src/erl_parse.yrl
@@ -1052,6 +1052,9 @@ build_typed_attribute({atom,Aa,record},
build_typed_attribute({atom,Aa,Attr},
{type_def, {call,_,{atom,_,TypeName},Args}, Type})
when Attr =:= 'type' ; Attr =:= 'opaque' ->
+ lists:foreach(fun({var, A, '_'}) -> ret_err(A, "bad type variable");
+ (_) -> ok
+ end, Args),
case lists:all(fun({var, _, _}) -> true;
(_) -> false
end, Args) of