Fix type warnings in pop_in/1 (#14064)

This commit is contained in:
Jean Klingler
2024-12-12 17:47:23 +09:00
committed by sabiwara
parent 55eca5dff5
commit 6c866e8ab2
2 changed files with 4 additions and 2 deletions
+2 -2
View File
@@ -3306,7 +3306,7 @@ defmodule Kernel do
end
defp nest_pop_in(:map, h, [{:access, key}]) do
quote do
quote generated: true do
case unquote(h) do
nil -> {nil, nil}
h -> Access.pop(h, unquote(key))
@@ -3327,7 +3327,7 @@ defmodule Kernel do
end
defp nest_pop_in(_, h, [{:access, key}]) do
quote do
quote generated: true do
case unquote(h) do
nil -> :pop
h -> Access.pop(h, unquote(key))
+2
View File
@@ -1136,6 +1136,8 @@ defmodule KernelTest do
test "pop_in/1" do
users = %{"john" => %{age: 27}, "meg" => %{age: 23}}
assert pop_in(users["john"]) == {%{age: 27}, %{"meg" => %{age: 23}}}
assert pop_in(users["john"][:age]) == {27, %{"john" => %{}, "meg" => %{age: 23}}}
assert pop_in(users["john"][:name]) == {nil, %{"john" => %{age: 27}, "meg" => %{age: 23}}}
assert pop_in(users["bob"][:age]) == {nil, %{"john" => %{age: 27}, "meg" => %{age: 23}}}