From 9d25f6d96b9f3565ece53881877e4df7ae0839c7 Mon Sep 17 00:00:00 2001 From: Clayton Gentry Date: Sun, 20 Sep 2026 20:52:11 -0400 Subject: [PATCH] Remove redundant visited state from xref traversal Assisted-by: Codex:GPT-6 --- lib/mix/lib/mix/tasks/xref.ex | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/lib/mix/lib/mix/tasks/xref.ex b/lib/mix/lib/mix/tasks/xref.ex index 50a7bb896a6..762c96b9373 100644 --- a/lib/mix/lib/mix/tasks/xref.ex +++ b/lib/mix/lib/mix/tasks/xref.ex @@ -1049,24 +1049,21 @@ defmodule Mix.Tasks.Xref do end defp source_tree(file_references, keys) do - keys - |> Enum.reduce({%{}, %{}}, fn key, {acc, seen} -> - source_tree(file_references, key, acc, seen) + Enum.reduce(keys, %{}, fn key, acc -> + source_tree(file_references, key, acc) end) - |> elem(0) end - defp source_tree(file_references, key, acc, seen) do + defp source_tree(file_references, key, acc) do nodes = file_references[key] - if is_nil(nodes) or Map.has_key?(seen, key) do - {acc, seen} + if is_nil(nodes) or Map.has_key?(acc, key) do + acc else acc = Map.put(acc, key, nodes) - seen = Map.put(seen, key, true) - Enum.reduce(nodes, {acc, seen}, fn {key, _type}, {acc, seen} -> - source_tree(file_references, key, acc, seen) + Enum.reduce(nodes, acc, fn {key, _type}, acc -> + source_tree(file_references, key, acc) end) end end