@@ -77,7 +77,7 @@ require_function(Meta, Receiver, Name, Arity, E) ->
7777 end .
7878
7979remote_function (Meta , Receiver , Name , Arity , E ) ->
80- check_deprecated (Meta , Receiver , Name , Arity , E ),
80+ check_deprecated (Meta , function , Receiver , Name , Arity , E ),
8181
8282 case elixir_rewrite :inline (Receiver , Name , Arity ) of
8383 {AR , AN } -> {remote , AR , AN , Arity };
@@ -161,7 +161,7 @@ do_expand_import(Meta, {Name, Arity} = Tuple, Args, Module, E, Result) ->
161161 elixir_locals :record_import (Tuple , Receiver , Module , ? key (E , function )),
162162 {ok , Receiver , Name , Args };
163163 {macro , Receiver } ->
164- check_deprecated (Meta , Receiver , Name , Arity , E ),
164+ check_deprecated (Meta , macro , Receiver , Name , Arity , E ),
165165 elixir_env :trace ({imported_macro , Meta , Receiver , Name , Arity }, E ),
166166 elixir_locals :record_import (Tuple , Receiver , Module , ? key (E , function )),
167167 {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) ->
180180 end .
181181
182182expand_require (Meta , Receiver , {Name , Arity } = Tuple , Args , E ) ->
183- check_deprecated (Meta , Receiver , Name , Arity , E ),
184183 Required = (Receiver == ? key (E , module )) orelse required (Meta ) orelse is_element (Receiver , ? key (E , requires )),
185184
186185 case is_element (Tuple , get_macros (Receiver , Required )) of
187186 true when Required ->
187+ check_deprecated (Meta , macro , Receiver , Name , Arity , E ),
188188 elixir_env :trace ({remote_macro , Meta , Receiver , Name , Arity }, E ),
189189 {ok , Receiver , expand_macro_named (Meta , Receiver , Name , Arity , Args , E )};
190190 true ->
191191 Info = {unrequired_module , {Receiver , Name , length (Args )}},
192192 elixir_errors :form_error (Meta , E , ? MODULE , Info );
193193 false ->
194+ check_deprecated (Meta , function , Receiver , Name , Arity , E ),
194195 error
195196 end .
196197
@@ -361,12 +362,13 @@ elixir_imported_macros() ->
361362 error :undef -> []
362363 end .
363364
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
370372 [_ | _ ] = Deprecations ->
371373 case lists :keyfind ({Name , Arity }, 1 , Deprecations ) of
372374 {_ , Message } ->
0 commit comments