Skip to content

Commit 03c123a

Browse files
authored
Stop iterating over list when slice range ends (#15336)
1 parent 81975a2 commit 03c123a

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

lib/elixir/lib/access.ex

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1091,6 +1091,11 @@ defmodule Access do
10911091

10921092
defp normalize_range(range, _list), do: range
10931093

1094+
defp get_and_update_slice(rest, %Range{last: last}, _next, updates, gets, index)
1095+
when index > last do
1096+
{:lists.reverse(gets), :lists.reverse(updates, rest)}
1097+
end
1098+
10941099
defp get_and_update_slice([head | rest], range, next, updates, gets, index) do
10951100
if index in range do
10961101
case next.(head) do

0 commit comments

Comments
 (0)