From 9c8b47c10203654d1e5d705bc57317417dec7fc9 Mon Sep 17 00:00:00 2001 From: Tushar Sadhwani Date: Mon, 17 Jan 2022 23:13:14 +0530 Subject: [PATCH] Fix function signatures in PEP 677 (#2243) The `flat_map` function is passing the function first in its calls, so the definition should reflect the same. --- pep-0677.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pep-0677.rst b/pep-0677.rst index ca139804e4b..41fe57b9277 100644 --- a/pep-0677.rst +++ b/pep-0677.rst @@ -36,7 +36,7 @@ like tab completion, static analysis tooling, and code review. Consider the following untyped code:: - def flat_map(l, func): + def flat_map(func, l): out = [] for element in l: out.extend(func(element)) @@ -58,8 +58,8 @@ We can add types to this example to detect the runtime error:: from typing import Callable def flat_map( - l: list[int], - func: Callable[[int], list[int]] + func: Callable[[int], list[int]], + l: list[int] ) -> list[int]: .... @@ -91,8 +91,8 @@ the benefits of static typing. For example, they might write this:: from typing import Callable def flat_map( - l: list[int], - func: Callable[..., Any] + func: Callable[..., Any], + l: list[int] ) -> list[int]: .... @@ -108,8 +108,8 @@ type checkers to find the bug. With our proposal, the example looks like this:: def flat_map( - l: list[int], func: (int) -> list[int], + l: list[int] ) -> list[int]: out = [] for element in l: