# HG changeset patch # User Gregory Szorc # Date 1645473823 25200 # Node ID 55d1325251557528b78d75c805638996b2d1552b # Parent fe3303436b7980b672690d6cc03ffda633b5d22b check-code: remove ban on old-style classes In Python 3, `class foo:` is equivalent to `class foo(object):`. So we can allow the former form now. Differential Revision: https://phab.mercurial-scm.org/D12351 diff -r fe3303436b79 -r 55d132525155 contrib/check-code.py --- a/contrib/check-code.py Mon Feb 21 12:46:27 2022 -0700 +++ b/contrib/check-code.py Mon Feb 21 13:03:43 2022 -0700 @@ -343,16 +343,6 @@ "linebreak after :", ), ( - r'class\s[^( \n]+:', - "old-style class, use class foo(object)", - r'#.*old-style', - ), - ( - r'class\s[^( \n]+\(\):', - "class foo() creates old style object, use class foo(object)", - r'#.*old-style', - ), - ( r'\b(%s)\(' % '|'.join(k for k in keyword.kwlist if k not in ('print', 'exec')), "Python keyword is not a function", diff -r fe3303436b79 -r 55d132525155 tests/test-contrib-check-code.t --- a/tests/test-contrib-check-code.t Mon Feb 21 12:46:27 2022 -0700 +++ b/tests/test-contrib-check-code.t Mon Feb 21 13:03:43 2022 -0700 @@ -51,12 +51,6 @@ ./quote.py:5: > '"""', 42+1, """and missing whitespace in expression - ./classstyle.py:4: - > class oldstyle_class: - old-style class, use class foo(object) - ./classstyle.py:7: - > class empty(): - class foo() creates old style object, use class foo(object) [1] $ cat > python3-compat.py << NO_CHECK_EOF > foo <> bar