Skip to content

Commit 5f608c4

Browse files
committed
Handle term() in optional_static?
1 parent c80a3b1 commit 5f608c4

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

lib/elixir/lib/module/types/descr.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ defmodule Module.Types.Descr do
315315
end
316316

317317
defp optional_static?(%{optional: 1}), do: true
318-
defp optional_static?(%{}), do: false
318+
defp optional_static?(_term_or_descr), do: false
319319

320320
defp pop_optional_static(:term), do: {false, :term}
321321

lib/elixir/test/elixir/module/types/descr_test.exs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1527,6 +1527,9 @@ defmodule Module.Types.DescrTest do
15271527
assert map_to_list(closed_map(a: integer())) ==
15281528
{:ok, non_empty_list(tuple([atom([:a]), integer()]))}
15291529

1530+
assert map_to_list(closed_map(a: term())) ==
1531+
{:ok, non_empty_list(tuple([atom([:a]), integer()]))}
1532+
15301533
assert map_to_list(closed_map(a: integer(), b: atom())) ==
15311534
{:ok,
15321535
non_empty_list(

0 commit comments

Comments
 (0)