From fe56157e0ffdb7a5d62d245343b3e70303e29aea Mon Sep 17 00:00:00 2001 From: Peter Ullrich Date: Sat, 2 May 2026 13:33:03 +0200 Subject: [PATCH] Stop iterating over list when slice range ends --- lib/elixir/lib/access.ex | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/elixir/lib/access.ex b/lib/elixir/lib/access.ex index 0aca88af757..3b63d4c196c 100644 --- a/lib/elixir/lib/access.ex +++ b/lib/elixir/lib/access.ex @@ -1091,6 +1091,11 @@ defmodule Access do defp normalize_range(range, _list), do: range + defp get_and_update_slice(rest, %Range{last: last}, _next, updates, gets, index) + when index > last do + {:lists.reverse(gets), :lists.reverse(updates, rest)} + end + defp get_and_update_slice([head | rest], range, next, updates, gets, index) do if index in range do case next.(head) do