@@ -77,7 +77,7 @@ require_function(Meta, Receiver, Name, Arity, E) ->
77
77
end .
78
78
79
79
remote_function (Meta , Receiver , Name , Arity , E ) ->
80
- check_deprecated (Meta , Receiver , Name , Arity , E ),
80
+ check_deprecated (Meta , function , Receiver , Name , Arity , E ),
81
81
82
82
case elixir_rewrite :inline (Receiver , Name , Arity ) of
83
83
{AR , AN } -> {remote , AR , AN , Arity };
@@ -161,7 +161,7 @@ do_expand_import(Meta, {Name, Arity} = Tuple, Args, Module, E, Result) ->
161
161
elixir_locals :record_import (Tuple , Receiver , Module , ? key (E , function )),
162
162
{ok , Receiver , Name , Args };
163
163
{macro , Receiver } ->
164
- check_deprecated (Meta , Receiver , Name , Arity , E ),
164
+ check_deprecated (Meta , macro , Receiver , Name , Arity , E ),
165
165
elixir_env :trace ({imported_macro , Meta , Receiver , Name , Arity }, E ),
166
166
elixir_locals :record_import (Tuple , Receiver , Module , ? key (E , function )),
167
167
{ok , Receiver , expand_macro_named (Meta , Receiver , Name , Arity , Args , E )};
@@ -180,17 +180,18 @@ do_expand_import(Meta, {Name, Arity} = Tuple, Args, Module, E, Result) ->
180
180
end .
181
181
182
182
expand_require (Meta , Receiver , {Name , Arity } = Tuple , Args , E ) ->
183
- check_deprecated (Meta , Receiver , Name , Arity , E ),
184
183
Required = (Receiver == ? key (E , module )) orelse required (Meta ) orelse is_element (Receiver , ? key (E , requires )),
185
184
186
185
case is_element (Tuple , get_macros (Receiver , Required )) of
187
186
true when Required ->
187
+ check_deprecated (Meta , macro , Receiver , Name , Arity , E ),
188
188
elixir_env :trace ({remote_macro , Meta , Receiver , Name , Arity }, E ),
189
189
{ok , Receiver , expand_macro_named (Meta , Receiver , Name , Arity , Args , E )};
190
190
true ->
191
191
Info = {unrequired_module , {Receiver , Name , length (Args )}},
192
192
elixir_errors :form_error (Meta , E , ? MODULE , Info );
193
193
false ->
194
+ check_deprecated (Meta , function , Receiver , Name , Arity , E ),
194
195
error
195
196
end .
196
197
@@ -361,12 +362,13 @@ elixir_imported_macros() ->
361
362
error :undef -> []
362
363
end .
363
364
364
- check_deprecated (_ , erlang , _ , _ , _ ) ->
365
- ok ;
366
- check_deprecated (_ , ? kernel , _ , _ , _ ) ->
367
- ok ;
368
- check_deprecated (Meta , Receiver , Name , Arity , E ) ->
369
- case (? key (E , function ) == nil ) andalso get_deprecations (Receiver ) of
365
+ check_deprecated (_ , _ , erlang , _ , _ , _ ) -> ok ;
366
+ check_deprecated (_ , _ , elixir_def , _ , _ , _ ) -> ok ;
367
+ check_deprecated (_ , _ , elixir_module , _ , _ , _ ) -> ok ;
368
+ check_deprecated (_ , _ , ? kernel , _ , _ , _ ) -> ok ;
369
+ check_deprecated (Meta , Kind , Receiver , Name , Arity , E ) ->
370
+ % % Any compile time behaviour cannot be verified by the runtime group pass.
371
+ case ((? key (E , function ) == nil ) or (Kind == macro )) andalso get_deprecations (Receiver ) of
370
372
[_ | _ ] = Deprecations ->
371
373
case lists :keyfind ({Name , Arity }, 1 , Deprecations ) of
372
374
{_ , Message } ->
0 commit comments