From 5ca5088612c1f036366ee0afb60be3f75e5ad027 Mon Sep 17 00:00:00 2001 From: Lukasz Samson Date: Mon, 15 Jun 2026 11:38:51 +0200 Subject: [PATCH] Fix missed optimization of `Kernel.put_elem/3` ?reorder added in 87582af54 used wrong arity and wrong erlang call --- lib/elixir/src/elixir_erl_pass.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/elixir/src/elixir_erl_pass.erl b/lib/elixir/src/elixir_erl_pass.erl index 19c9bf9d358..71744113101 100644 --- a/lib/elixir/src/elixir_erl_pass.erl +++ b/lib/elixir/src/elixir_erl_pass.erl @@ -717,7 +717,7 @@ rewrite_strategy(Left, Right, Args) -> ). ?reorder('Elixir.Kernel', elem, 2, [Tuple, Index], erlang, element, [increment(Ann, Index), Tuple]); -?reorder('Elixir.Kernel', put_elem, 2, [Tuple, Index, Term], erlang, element, [increment(Ann, Index), Tuple, Term]); +?reorder('Elixir.Kernel', put_elem, 3, [Tuple, Index, Term], erlang, setelement, [increment(Ann, Index), Tuple, Term]); ?reorder('Elixir.Kernel', is_map_key, 2, [Map, Key], erlang, is_map_key, [Key, Map]); ?reorder('Elixir.Map', delete, 2, [Map, Key], maps, remove, [Key, Map]); ?reorder('Elixir.Map', fetch, 2, [Map, Key], maps, find, [Key, Map]);