Skip to content

Commit 1bbc959

Browse files
committed
Prune tracers when fetching __ENV__ inside functions, closes #10466
1 parent 1603f21 commit 1bbc959

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

lib/elixir/src/elixir_expand.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@ expand(Other, E) ->
469469
escape_env_entries(Meta, #{current_vars := {Read, Write}, unused_vars := {Unused, Version}} = Env0) ->
470470
Env1 = case Env0 of
471471
#{function := nil} -> Env0;
472-
_ -> Env0#{lexical_tracker := nil}
472+
_ -> Env0#{lexical_tracker := nil, tracers := []}
473473
end,
474474
Current = {maybe_escape_map(Read), maybe_escape_map(Write)},
475475
Env2 = Env1#{current_vars := Current, unused_vars := {maybe_escape_map(Unused), Version}},

lib/elixir/test/elixir/kernel/expansion_test.exs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,7 @@ defmodule Kernel.ExpansionTest do
294294
test "__ENV__" do
295295
env = %{__ENV__ | line: 0}
296296
assert expand_env(quote(do: __ENV__), env) == {Macro.escape(env), env}
297+
assert %{lexical_tracker: nil, tracers: []} = __ENV__
297298
end
298299

299300
test "__ENV__.accessor" do
@@ -302,6 +303,9 @@ defmodule Kernel.ExpansionTest do
302303

303304
assert expand_env(quote(do: __ENV__.unknown), env) ==
304305
{quote(do: unquote(Macro.escape(env)).unknown), env}
306+
307+
assert __ENV__.lexical_tracker == nil
308+
assert __ENV__.tracers == []
305309
end
306310
end
307311

0 commit comments

Comments
 (0)