summaryrefslogtreecommitdiff
path: root/lib/stdlib/src/erl_lint.erl
diff options
context:
space:
mode:
authorHans Bolinder <hasse@erlang.org>2014-03-03 15:27:09 +0100
committerHans Bolinder <hasse@erlang.org>2014-03-04 12:08:16 +0100
commit774955d0d2a44fa8ac5943a14516d54db2b8f6d5 (patch)
tree147bcef3d834180b8bc7ed1174fcd113022e19f7 /lib/stdlib/src/erl_lint.erl
parente2910a4fc3c0e8f70fef5578225edc6e36d6fbe7 (diff)
downloaderlang-774955d0d2a44fa8ac5943a14516d54db2b8f6d5.tar.gz
Introduce compiler option 'nowarn_deprecated_type'
The deprecation of the built-in types dict/0 and so on had as side-effect that it was impossible to switch to dict:dict/2 and so on without getting warnings either in the the previous release (R16B) or the current one (17.0). By including the attribute -compile(nowarn_deprecated_type). in an Erlang source file warnings about deprecated types can be avoided in 17.0. The option can also be given as a compiler flag: erlc +nowarn_deprecated_type file.erl
Diffstat (limited to 'lib/stdlib/src/erl_lint.erl')
-rw-r--r--lib/stdlib/src/erl_lint.erl6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/stdlib/src/erl_lint.erl b/lib/stdlib/src/erl_lint.erl
index 603808328e..1fe0bd5896 100644
--- a/lib/stdlib/src/erl_lint.erl
+++ b/lib/stdlib/src/erl_lint.erl
@@ -508,6 +508,9 @@ start(File, Opts) ->
{deprecated_function,
bool_option(warn_deprecated_function, nowarn_deprecated_function,
true, Opts)},
+ {deprecated_type,
+ bool_option(warn_deprecated_type, nowarn_deprecated_type,
+ true, Opts)},
{obsolete_guard,
bool_option(warn_obsolete_guard, nowarn_obsolete_guard,
true, Opts)},
@@ -2646,7 +2649,8 @@ check_type({type, La, TypeName, Args}, SeenVars, St) ->
St1 = case is_var_arity_type(TypeName) of
true -> St;
false ->
- Obsolete = obsolete_builtin_type(TypePair),
+ Obsolete = (is_warn_enabled(deprecated_type, St)
+ andalso obsolete_builtin_type(TypePair)),
IsObsolete =
case Obsolete of
{deprecated, Repl, _} when element(1, Repl) =/= Module ->