Skip to content

Commit 8f696d0

Browse files
committed
Inline Map.from_keys/2
1 parent 8b6ec66 commit 8f696d0

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

lib/elixir/lib/map.ex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,8 @@ defmodule Map do
128128
@doc """
129129
Builds a map from the given `keys` and the fixed `value`.
130130
131+
Inlined by the compiler.
132+
131133
## Examples
132134
133135
iex> Map.from_keys([1, 2, 3], :number)
@@ -136,9 +138,7 @@ defmodule Map do
136138
"""
137139
@doc since: "1.14.0"
138140
@spec from_keys([key], value) :: map
139-
def from_keys(keys, value) do
140-
:maps.from_keys(keys, value)
141-
end
141+
defdelegate from_keys(keys, value), to: :maps
142142

143143
@doc """
144144
Returns all keys from `map`.

lib/elixir/src/elixir_rewrite.erl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ inline(Mod, Fun, Arity) -> inner_inline(ex_to_erl, Mod, Fun, Arity).
148148
?inline(?list, to_integer, 2, erlang, list_to_integer);
149149
?inline(?list, to_tuple, 1, erlang, list_to_tuple);
150150

151+
?inline(?map, from_keys, 2, maps, from_keys);
151152
?inline(?map, intersect, 2, maps, intersect);
152153
?inline(?map, keys, 1, maps, keys);
153154
?inline(?map, merge, 2, maps, merge);

0 commit comments

Comments
 (0)