summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Sottile <asottile@umich.edu>2020-03-24 14:44:57 -0700
committerGitHub <noreply@github.com>2020-03-24 14:44:57 -0700
commit0e0b95883313b53d377c2df51349bf10d9571cfb (patch)
treea6032b4381c86815021cb863cb59e88a3809982e
parenta9e8ebcf821b99c7587cc0b566396fc3f1c9d81b (diff)
parente7abf262b6ffb992bf53bb8e33e213d77928d64a (diff)
downloadpep8-0e0b95883313b53d377c2df51349bf10d9571cfb.tar.gz
Merge pull request #918 from asottile/only_positional
Fix E225 for PEP 570 all positional-only arguments
-rwxr-xr-xpycodestyle.py11
-rw-r--r--testsuite/python38.py14
2 files changed, 23 insertions, 2 deletions
diff --git a/pycodestyle.py b/pycodestyle.py
index d2e9337..b6a22f3 100755
--- a/pycodestyle.py
+++ b/pycodestyle.py
@@ -863,7 +863,16 @@ def missing_whitespace_around_operator(logical_line, tokens):
# Tolerate the "<>" operator, even if running Python 3
# Deal with Python 3's annotated return value "->"
pass
- elif prev_text == '/' and text == ',':
+ elif (
+ # def f(a, /, b):
+ # ^
+ # def f(a, b, /):
+ # ^
+ prev_text == '/' and text in {',', ')'} or
+ # def f(a, b, /):
+ # ^
+ prev_text == ')' and text == ':'
+ ):
# Tolerate the "/" operator in function definition
# For more info see PEP570
pass
diff --git a/testsuite/python38.py b/testsuite/python38.py
index 5f62a3f..57ee613 100644
--- a/testsuite/python38.py
+++ b/testsuite/python38.py
@@ -1,5 +1,17 @@
#: Okay
-def f(a, /, b):
+def f1(a, /, b):
+ pass
+
+
+def f2(a, b, /):
+ pass
+
+
+def f3(
+ a,
+ /,
+ b,
+):
pass
#: Okay
if x := 1: