From 8739c4a188cc438c7dd24fd242776d19b0951dfb Mon Sep 17 00:00:00 2001 From: "Robert T. McGibbon" Date: Wed, 3 Feb 2016 15:16:52 -0800 Subject: [PATCH 1/2] Improvements to builtins min/max --- stdlib/2.7/__builtin__.pyi | 4 ++-- stdlib/3/builtins.pyi | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/stdlib/2.7/__builtin__.pyi b/stdlib/2.7/__builtin__.pyi index fac290b03dc4..ff54f462951e 100644 --- a/stdlib/2.7/__builtin__.pyi +++ b/stdlib/2.7/__builtin__.pyi @@ -677,12 +677,12 @@ def map(func: Callable[[_T1, _T2], _S], iter1: Iterable[_T1], iter2: Iterable[_T2]) -> List[_S]: ... # TODO more than two iterables @overload -def max(arg1: _T, arg2: _T, *args: _T) -> _T: ... +def max(arg1: _T, arg2: _T, *args: _T, key: Callable[[_T], Any] = None) -> _T: ... @overload def max(iterable: Iterable[_T], key: Callable[[_T], Any] = None) -> _T: ... # TODO memoryview @overload -def min(arg1: _T, arg2: _T, *args: _T) -> _T: ... +def min(arg1: _T, arg2: _T, *args: _T, key: Callable[[_T], Any] = None) -> _T: ... @overload def min(iterable: Iterable[_T], key: Callable[[_T], Any] = None) -> _T: ... @overload diff --git a/stdlib/3/builtins.pyi b/stdlib/3/builtins.pyi index cbf96d2c25ed..6a883de9232c 100644 --- a/stdlib/3/builtins.pyi +++ b/stdlib/3/builtins.pyi @@ -658,14 +658,14 @@ def map(func: Callable[[_T1], _S], iter1: Iterable[_T1]) -> Iterator[_S]: ... def map(func: Callable[[_T1, _T2], _S], iter1: Iterable[_T1], iter2: Iterable[_T2]) -> Iterator[_S]: ... # TODO more than two iterables @overload -def max(arg1: _T, arg2: _T, *args: _T) -> _T: ... +def max(arg1: _T, arg2: _T, *args: _T, key: Callable[[_T], Any] = None, default:_T = None) -> _T: ... @overload -def max(iterable: Iterable[_T], key: Callable[[_T], Any] = None) -> _T: ... +def max(iterable: Iterable[_T], key: Callable[[_T], Any] = None, default:_T = None) -> _T: ... # TODO memoryview @overload -def min(arg1: _T, arg2: _T, *args: _T) -> _T: ... +def min(arg1: _T, arg2: _T, *args: _T, key: Callable[[_T], Any] = None, default:_T = None) -> _T: ... @overload -def min(iterable: Iterable[_T], key: Callable[[_T], Any] = None) -> _T: ... +def min(iterable: Iterable[_T], key: Callable[[_T], Any] = None, default:_T = None) -> _T: ... @overload def next(i: Iterator[_T]) -> _T: ... @overload From 9933080b0464924ebd8a9b981cb6fc269a1db715 Mon Sep 17 00:00:00 2001 From: "Robert T. McGibbon" Date: Wed, 3 Feb 2016 15:20:03 -0800 Subject: [PATCH 2/2] Update builtins.pyi --- stdlib/3/builtins.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stdlib/3/builtins.pyi b/stdlib/3/builtins.pyi index 6a883de9232c..7a6a4994b020 100644 --- a/stdlib/3/builtins.pyi +++ b/stdlib/3/builtins.pyi @@ -658,12 +658,12 @@ def map(func: Callable[[_T1], _S], iter1: Iterable[_T1]) -> Iterator[_S]: ... def map(func: Callable[[_T1, _T2], _S], iter1: Iterable[_T1], iter2: Iterable[_T2]) -> Iterator[_S]: ... # TODO more than two iterables @overload -def max(arg1: _T, arg2: _T, *args: _T, key: Callable[[_T], Any] = None, default:_T = None) -> _T: ... +def max(arg1: _T, arg2: _T, *args: _T, key: Callable[[_T], Any] = None) -> _T: ... @overload def max(iterable: Iterable[_T], key: Callable[[_T], Any] = None, default:_T = None) -> _T: ... # TODO memoryview @overload -def min(arg1: _T, arg2: _T, *args: _T, key: Callable[[_T], Any] = None, default:_T = None) -> _T: ... +def min(arg1: _T, arg2: _T, *args: _T, key: Callable[[_T], Any] = None) -> _T: ... @overload def min(iterable: Iterable[_T], key: Callable[[_T], Any] = None, default:_T = None) -> _T: ... @overload