Skip to content

Commit 4d1de1d

Browse files
lukaszsamsonjosevalim
authored andcommitted
Fix missed optimization of Kernel.put_elem/3 (#15480)
?reorder added in 87582af used wrong arity and wrong erlang call
1 parent b098c04 commit 4d1de1d

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

lib/elixir/src/elixir_erl_pass.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -717,7 +717,7 @@ rewrite_strategy(Left, Right, Args) ->
717717
).
718718

719719
?reorder('Elixir.Kernel', elem, 2, [Tuple, Index], erlang, element, [increment(Ann, Index), Tuple]);
720-
?reorder('Elixir.Kernel', put_elem, 2, [Tuple, Index, Term], erlang, element, [increment(Ann, Index), Tuple, Term]);
720+
?reorder('Elixir.Kernel', put_elem, 3, [Tuple, Index, Term], erlang, setelement, [increment(Ann, Index), Tuple, Term]);
721721
?reorder('Elixir.Kernel', is_map_key, 2, [Map, Key], erlang, is_map_key, [Key, Map]);
722722
?reorder('Elixir.Map', delete, 2, [Map, Key], maps, remove, [Key, Map]);
723723
?reorder('Elixir.Map', fetch, 2, [Map, Key], maps, find, [Key, Map]);

0 commit comments

Comments
 (0)