# HG changeset patch # User Gregory Szorc # Date 2022-02-21 20:03:43 # 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 --git a/contrib/check-code.py b/contrib/check-code.py --- a/contrib/check-code.py +++ b/contrib/check-code.py @@ -343,16 +343,6 @@ commonpypats = [ "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 --git a/tests/test-contrib-check-code.t b/tests/test-contrib-check-code.t --- a/tests/test-contrib-check-code.t +++ b/tests/test-contrib-check-code.t @@ -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