Skip to content

Commit d0ce39e

Browse files
authored
Fix incorrect typespecs in Module (#15167)
- Fix `module_info(:nifs)` typespec to return `[function_info]` instead of `module()` - Fix `Module.overridables_in/1` typespec to return `[definition]` instead of `[atom]`
1 parent e3c74e1 commit d0ce39e

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

lib/elixir/lib/module.ex

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -656,7 +656,8 @@ defmodule Module do
656656
@spec module_info(:attributes) :: keyword()
657657
@spec module_info(:compile) :: keyword()
658658
@spec module_info(:md5) :: binary()
659-
@spec module_info(:nifs) :: module()
659+
@spec module_info(:nifs) :: [function_info]
660+
when function_info: {function_name :: atom(), arity :: non_neg_integer()}
660661
@spec module_info(:exports) :: [function_info]
661662
when function_info: {function_name :: atom(), arity :: non_neg_integer()}
662663
@spec module_info(:functions) :: [function_info]
@@ -1358,7 +1359,7 @@ defmodule Module do
13581359
13591360
"""
13601361
@doc since: "1.13.0"
1361-
@spec overridables_in(module) :: [atom]
1362+
@spec overridables_in(module) :: [definition]
13621363
def overridables_in(module) when is_atom(module) do
13631364
assert_not_compiled!(__ENV__.function, module, :all)
13641365
:elixir_overridable.overridables_for(module)

0 commit comments

Comments
 (0)