diff options
author | José Valim <jose.valim@dashbit.co> | 2022-07-11 21:31:40 +0200 |
---|---|---|
committer | José Valim <jose.valim@dashbit.co> | 2022-07-11 21:31:47 +0200 |
commit | 0e5ceb343e1946c0650ba4c6a61bc13d64584981 (patch) | |
tree | c3db69e5bbebf31bb11e34bf1c4b0e12efc26c0d | |
parent | ed01637ec21bda7a6671732ea9619360f1d861e6 (diff) | |
download | elixir-0e5ceb343e1946c0650ba4c6a61bc13d64584981.tar.gz |
Do not reset the lexical tracker
-rw-r--r-- | lib/elixir/lib/protocol.ex | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/elixir/lib/protocol.ex b/lib/elixir/lib/protocol.ex index 49807b773..1d02e720c 100644 --- a/lib/elixir/lib/protocol.ex +++ b/lib/elixir/lib/protocol.ex @@ -931,7 +931,7 @@ defmodule Protocol do raise ArgumentError, "defimpl/3 expects a :for option when declared outside a module" end) - for = Macro.expand_literal(for, %{env | lexical_tracker: nil}) + for = Macro.expand_literal(for, %{env | module: Kernel, function: {:defimpl, 3}}) case opts do [] -> raise ArgumentError, "defimpl expects a do-end block" @@ -951,11 +951,11 @@ defmodule Protocol do impl = quote unquote: false do @doc false - @spec __impl__(:for) :: unquote(for) @spec __impl__(:target) :: __MODULE__ + @spec __impl__(:for) :: unquote(for) @spec __impl__(:protocol) :: unquote(protocol) - def __impl__(:for), do: unquote(for) def __impl__(:target), do: __MODULE__ + def __impl__(:for), do: unquote(for) def __impl__(:protocol), do: unquote(protocol) end |