@@ -1593,7 +1593,11 @@ defmodule Enum do
1593
1593
defp max_sort_fun ( module ) when is_atom ( module ) , do: & ( module . compare ( & 1 , & 2 ) != :lt )
1594
1594
1595
1595
@ doc false
1596
- @ spec max_by ( t , ( element -> any ) , ( ( ) -> empty_result ) ) :: element | empty_result
1596
+ @ spec max_by (
1597
+ t ,
1598
+ ( element -> any ) ,
1599
+ ( ( ) -> empty_result ) | ( element , element -> boolean ) | module ( )
1600
+ ) :: element | empty_result
1597
1601
when empty_result: any
1598
1602
def max_by ( enumerable , fun , empty_fallback )
1599
1603
when is_function ( fun , 1 ) and is_function ( empty_fallback , 0 ) do
@@ -1644,12 +1648,6 @@ defmodule Enum do
1644
1648
nil
1645
1649
1646
1650
"""
1647
- @ spec max_by (
1648
- t ,
1649
- ( element -> any ) ,
1650
- ( element , element -> boolean ) | module ( )
1651
- ) :: element | empty_result
1652
- when empty_result: any
1653
1651
@ spec max_by (
1654
1652
t ,
1655
1653
( element -> any ) ,
@@ -1767,7 +1765,11 @@ defmodule Enum do
1767
1765
defp min_sort_fun ( module ) when is_atom ( module ) , do: & ( module . compare ( & 1 , & 2 ) != :gt )
1768
1766
1769
1767
@ doc false
1770
- @ spec min_by ( t , ( element -> any ) , ( ( ) -> empty_result ) ) :: element | empty_result
1768
+ @ spec min_by (
1769
+ t ,
1770
+ ( element -> any ) ,
1771
+ ( ( ) -> empty_result ) | ( element , element -> boolean ) | module ( )
1772
+ ) :: element | empty_result
1771
1773
when empty_result: any
1772
1774
def min_by ( enumerable , fun , empty_fallback )
1773
1775
when is_function ( fun , 1 ) and is_function ( empty_fallback , 0 ) do
@@ -1818,12 +1820,6 @@ defmodule Enum do
1818
1820
nil
1819
1821
1820
1822
"""
1821
- @ spec min_by (
1822
- t ,
1823
- ( element -> any ) ,
1824
- ( element , element -> boolean ) | module ( )
1825
- ) :: element | empty_result
1826
- when empty_result: any
1827
1823
@ spec min_by (
1828
1824
t ,
1829
1825
( element -> any ) ,
0 commit comments