fix: don't disable lexical tracker for extensions

This commit is contained in:
Zach Daniel 2022-06-14 14:39:17 -04:00
parent 56656deda4
commit 5b0a5d238b

View file

@ -201,8 +201,7 @@ defmodule Ash.Dsl do
Enum.reduce(opts, {[], []}, fn {key, value}, {opts, extensions} -> Enum.reduce(opts, {[], []}, fn {key, value}, {opts, extensions} ->
cond do cond do
key in their_opt_schema[:single_extension_kinds] -> key in their_opt_schema[:single_extension_kinds] ->
mod = mod = Macro.expand(value, env)
Macro.expand(value, %{env | function: {:__ash_placeholder__, 0}, lexical_tracker: nil})
extensions = extensions =
if Ash.Helpers.implements_behaviour?(mod, Ash.Dsl.Extension) do if Ash.Helpers.implements_behaviour?(mod, Ash.Dsl.Extension) do
@ -217,7 +216,7 @@ defmodule Ash.Dsl do
mods = mods =
value value
|> List.wrap() |> List.wrap()
|> Enum.map(&Macro.expand(&1, %{env | function: {:__ash_placeholder__, 0}})) |> Enum.map(&Macro.expand(&1, env))
extensions = extensions =
extensions ++ extensions ++