Skip to content

Commit 913d401

Browse files
committed
Perform implicit Application require as the compiler is aware of its constructs
1 parent fbfb1b4 commit 913d401

File tree

1 file changed

+3
-14
lines changed

1 file changed

+3
-14
lines changed

lib/elixir/src/elixir_dispatch.erl

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ default_functions() ->
1616
default_macros() ->
1717
[{?kernel, elixir_imported_macros()}].
1818
default_requires() ->
19-
['Elixir.Kernel', 'Elixir.Kernel.Typespec'].
19+
['Elixir.Application', 'Elixir.Kernel', 'Elixir.Kernel.Typespec'].
2020

2121
%% This is used by elixir_quote. Note we don't record the
2222
%% import locally because at that point there is no
@@ -68,9 +68,7 @@ import_function(Meta, Name, Arity, E) ->
6868
end.
6969

7070
require_function(Meta, Receiver, Name, Arity, E) ->
71-
Required =
72-
is_element(Receiver, ?key(E, requires)) orelse
73-
is_deprecated_require(Meta, Receiver, Name, E),
71+
Required = is_element(Receiver, ?key(E, requires)),
7472

7573
case is_macro({Name, Arity}, Receiver, Required) of
7674
true -> false;
@@ -182,7 +180,7 @@ do_expand_import(Meta, {Name, Arity} = Tuple, Args, Module, S, E, Result) ->
182180
expand_require(Meta, Receiver, {Name, Arity} = Tuple, Args, S, E) ->
183181
Required =
184182
(Receiver == ?key(E, module)) orelse required(Meta) orelse
185-
is_element(Receiver, ?key(E, requires)) orelse is_deprecated_require(Meta, Receiver, Name, E),
183+
is_element(Receiver, ?key(E, requires)),
186184

187185
case is_macro(Tuple, Receiver, Required) of
188186
true ->
@@ -194,13 +192,6 @@ expand_require(Meta, Receiver, {Name, Arity} = Tuple, Args, S, E) ->
194192
error
195193
end.
196194

197-
is_deprecated_require(Meta, 'Elixir.Application', Name, E)
198-
when Name == 'compile_env'; Name == 'compile_env!' ->
199-
elixir_errors:form_warn(Meta, E, ?MODULE, {implicit_application_require, Name}),
200-
true;
201-
is_deprecated_require(_, _, _, _) ->
202-
false.
203-
204195
%% Expansion helpers
205196

206197
expand_macro_fun(Meta, Fun, Receiver, Name, Args, S, E) ->
@@ -296,8 +287,6 @@ prune_stacktrace([], _MFA, Info, _E) ->
296287

297288
%% ERROR HANDLING
298289

299-
format_error({implicit_application_require, Name}) ->
300-
io_lib:format("you must require Application before calling Application.~ts",[Name]);
301290
format_error({macro_conflict, {Receiver, Name, Arity}}) ->
302291
io_lib:format("call to local macro ~ts/~B conflicts with imported ~ts.~ts/~B, "
303292
"please rename the local macro or remove the conflicting import",

0 commit comments

Comments
 (0)