Skip to content

Commit 22bcecd

Browse files
committed
Do not verify modules twice
1 parent ad3646e commit 22bcecd

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

lib/mix/lib/mix/compilers/elixir.ex

+5-5
Original file line numberDiff line numberDiff line change
@@ -1094,24 +1094,24 @@ defmodule Mix.Compilers.Elixir do
10941094
# We merge stale_modules (which is a map of %{module => true} that the user changed)
10951095
# into a map of modules we compiled (which is a map of %{module => record}). This is
10961096
# fine because we only care about the keys.
1097-
runtime_modules = Map.merge(modules, stale_modules)
1097+
changed_modules = Map.merge(modules, stale_modules)
10981098

10991099
# Now we do a simple pass finding anything that directly depends on the modules that
11001100
# changed. We don't need to compute a fixpoint, because now only the directly affected
11011101
# matter.
11021102
{sources, runtime_modules} =
1103-
Enum.reduce(sources, {sources, Map.keys(runtime_modules)}, fn
1103+
Enum.reduce(sources, {sources, []}, fn
11041104
{source_path, source_entry}, {acc_sources, acc_modules} ->
11051105
source(export_references: export_refs, runtime_references: runtime_refs) =
11061106
source_entry
11071107

1108-
if has_any_key?(runtime_modules, export_refs) or
1109-
has_any_key?(runtime_modules, runtime_refs) do
1108+
if has_any_key?(changed_modules, export_refs) or
1109+
has_any_key?(changed_modules, runtime_refs) do
11101110
acc_sources =
11111111
Map.replace!(acc_sources, source_path, source(source_entry, runtime_warnings: []))
11121112

11131113
new_modules =
1114-
Enum.reject(source(source_entry, :modules), &Map.has_key?(runtime_modules, &1))
1114+
Enum.reject(source(source_entry, :modules), &Map.has_key?(changed_modules, &1))
11151115

11161116
{acc_sources, new_modules ++ acc_modules}
11171117
else

0 commit comments

Comments
 (0)