From 838dde1e27ee6a6debf74cf2370b2284f618b348 Mon Sep 17 00:00:00 2001 From: Hans Bolinder Date: Wed, 17 May 2017 14:08:49 +0200 Subject: stdlib: Warn for bad type variables of parameterized types The linter emits warnings about using '_' as type variable in parameterized types. --- lib/stdlib/src/erl_parse.yrl | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lib/stdlib/src') 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 -- cgit v1.2.3