Skip to content

Commit 137ad74

Browse files
Fix {Keyword, Map}.get_and_update!/3 specs (#12265)
This removes `nil` from the spec, as `nil` is not returned as it happens with get_and_update/3.
1 parent 07b7be6 commit 137ad74

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

lib/elixir/lib/keyword.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -526,7 +526,7 @@ defmodule Keyword do
526526
{1, []}
527527
528528
"""
529-
@spec get_and_update!(t, key, (value | nil -> {current_value, new_value :: value} | :pop)) ::
529+
@spec get_and_update!(t, key, (value -> {current_value, new_value :: value} | :pop)) ::
530530
{current_value, new_keywords :: t}
531531
when current_value: value
532532
def get_and_update!(keywords, key, fun) do

lib/elixir/lib/map.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -995,7 +995,7 @@ defmodule Map do
995995
{1, %{}}
996996
997997
"""
998-
@spec get_and_update!(map, key, (value | nil -> {current_value, new_value :: value} | :pop)) ::
998+
@spec get_and_update!(map, key, (value -> {current_value, new_value :: value} | :pop)) ::
999999
{current_value, map}
10001000
when current_value: value
10011001
def get_and_update!(map, key, fun) when is_function(fun, 1) do

0 commit comments

Comments
 (0)