Skip to content

Commit 256a55a

Browse files
committed
Do not verify modules twice
1 parent a78c920 commit 256a55a

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

Diff for: lib/mix/lib/mix/compilers/elixir.ex

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

10821082
# Now we do a simple pass finding anything that directly depends on the modules that
10831083
# changed. We don't need to compute a fixpoint, because now only the directly affected
10841084
# matter.
10851085
{sources, runtime_modules} =
1086-
Enum.reduce(sources, {sources, Map.keys(runtime_modules)}, fn
1086+
Enum.reduce(sources, {sources, []}, fn
10871087
{source_path, source_entry}, {acc_sources, acc_modules} ->
10881088
source(export_references: export_refs, runtime_references: runtime_refs) =
10891089
source_entry
10901090

1091-
if has_any_key?(runtime_modules, export_refs) or
1092-
has_any_key?(runtime_modules, runtime_refs) do
1091+
if has_any_key?(changed_modules, export_refs) or
1092+
has_any_key?(changed_modules, runtime_refs) do
10931093
acc_sources =
10941094
Map.replace!(acc_sources, source_path, source(source_entry, runtime_warnings: []))
10951095

10961096
new_modules =
1097-
Enum.reject(source(source_entry, :modules), &Map.has_key?(runtime_modules, &1))
1097+
Enum.reject(source(source_entry, :modules), &Map.has_key?(changed_modules, &1))
10981098

10991099
{acc_sources, new_modules ++ acc_modules}
11001100
else

0 commit comments

Comments
 (0)