From ab009de24cbc3e61faa7554b15f1bbf616b8e159 Mon Sep 17 00:00:00 2001 From: Art Kay Date: Sun, 7 Sep 2025 22:49:59 -0400 Subject: [PATCH] Optimize Access.filter to eliminate intermediate list creation --- lib/elixir/lib/access.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/elixir/lib/access.ex b/lib/elixir/lib/access.ex index 292e76c1ff9..bacf3bc4e87 100644 --- a/lib/elixir/lib/access.ex +++ b/lib/elixir/lib/access.ex @@ -891,7 +891,7 @@ defmodule Access do end defp filter(:get, data, func, next) when is_list(data) do - data |> Enum.filter(func) |> Enum.map(next) + for elem <- data, func.(elem), do: next.(elem) end defp filter(:get_and_update, data, func, next) when is_list(data) do