Hello community,

here is the log from the commit of package python-pylint for openSUSE:Factory 
checked in at 2019-11-04 17:09:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pylint (Old)
 and      /work/SRC/openSUSE:Factory/.python-pylint.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pylint"

Mon Nov  4 17:09:10 2019 rev:12 rq:743455 version:2.4.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pylint/python-pylint.changes      
2019-10-10 11:52:47.135426286 +0200
+++ /work/SRC/openSUSE:Factory/.python-pylint.new.2990/python-pylint.changes    
2019-11-04 17:09:12.224440436 +0100
@@ -1,0 +2,13 @@
+Sun Oct 27 08:30:00 UTC 2019 - Michael Ströder <mich...@stroeder.com>
+
+- Update to 2.4.3:
+  * Fix an issue with ``unnecessary-comprehension`` in comprehensions with 
additional repacking of elements.
+  * ``import-outside-toplevel`` is emitted for ``ImportFrom`` nodes as well.
+  * Do not emit ``no-method-argument`` for functions using positional only 
args.
+  * ``consider-using-sys-exit`` is no longer emitted when `exit` is imported 
in the local scope.
+  * `invalid-overridden-method` takes `abc.abstractproperty` in account
+  * Fixed ``missing-yield-type-doc`` getting incorrectly raised when
+  a generator does not document a yield type but has a type annotation.
+  * ``typing.overload`` functions are exempted from ``too-many-function-args``
+
+-------------------------------------------------------------------

Old:
----
  pylint-2.4.2.tar.gz

New:
----
  pylint-2.4.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pylint.spec ++++++
--- /var/tmp/diff_new_pack.BWSaX4/_old  2019-11-04 17:09:13.632441940 +0100
+++ /var/tmp/diff_new_pack.BWSaX4/_new  2019-11-04 17:09:13.664441974 +0100
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python3-%{**}}
 %define skip_python2 1
 Name:           python-pylint
-Version:        2.4.2
+Version:        2.4.3
 Release:        0
 Summary:        Syntax and style checker for Python code
 License:        GPL-2.0-or-later

++++++ pylint-2.4.2.tar.gz -> pylint-2.4.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/CONTRIBUTORS.txt 
new/pylint-2.4.3/CONTRIBUTORS.txt
--- old/pylint-2.4.2/CONTRIBUTORS.txt   2019-09-30 11:07:07.000000000 +0200
+++ new/pylint-2.4.3/CONTRIBUTORS.txt   2019-10-18 11:26:14.000000000 +0200
@@ -329,3 +329,5 @@
 
 * Trevor Bekolay: contributor
     - Added --list-msgs-enabled command
+
+* Rémi Cardona: contributor
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/ChangeLog new/pylint-2.4.3/ChangeLog
--- old/pylint-2.4.2/ChangeLog  2019-09-30 11:07:07.000000000 +0200
+++ new/pylint-2.4.3/ChangeLog  2019-10-18 11:26:14.000000000 +0200
@@ -2,6 +2,42 @@
 Pylint's ChangeLog
 ------------------
 
+What's New in Pylint 2.4.3?
+===========================
+
+Release date: 2019-10-18
+
+* Fix an issue with ``unnecessary-comprehension`` in comprehensions with 
additional repacking of elements.
+
+  Close #3148
+
+* ``import-outside-toplevel`` is emitted for ``ImportFrom`` nodes as well.
+
+  Close #3175
+
+
+* Do not emit ``no-method-argument`` for functions using positional only args.
+
+  Close #3161
+
+* ``consider-using-sys-exit`` is no longer emitted when `exit` is imported in 
the local scope.
+
+  Close #3147
+
+* `invalid-overridden-method` takes `abc.abstractproperty` in account
+
+  Close #3150
+
+* Fixed ``missing-yield-type-doc`` getting incorrectly raised when
+  a generator does not document a yield type but has a type annotation.
+
+  Closes #3185
+
+* ``typing.overload`` functions are exempted from ``too-many-function-args``
+
+  Close #3170
+
+
 What's New in Pylint 2.4.2?
 ===========================
 
@@ -334,7 +370,7 @@
 
 * Allow the choice of f-strings as a valid way of formatting logging strings.
 
-Closes #2395
+  Closes #2395
 
 * Added ``--list-msgs-enabled`` command to list all enabled and disabled 
messages given the current RC file and command line arguments.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/PKG-INFO new/pylint-2.4.3/PKG-INFO
--- old/pylint-2.4.2/PKG-INFO   2019-09-30 11:10:00.000000000 +0200
+++ new/pylint-2.4.3/PKG-INFO   2019-10-18 11:29:19.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: pylint
-Version: 2.4.2
+Version: 2.4.3
 Summary: python code static checker
 Home-page: https://github.com/PyCQA/pylint
 Author: Python Code Quality Authority
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/pylint/__init__.py 
new/pylint-2.4.3/pylint/__init__.py
--- old/pylint-2.4.2/pylint/__init__.py 2019-09-30 11:07:07.000000000 +0200
+++ new/pylint-2.4.3/pylint/__init__.py 2019-10-18 11:26:14.000000000 +0200
@@ -9,35 +9,35 @@
 
 import sys
 
-from .__pkginfo__ import version as __version__
+from pylint.__pkginfo__ import version as __version__
+from pylint.checkers.similar import Run as SimilarRun
+from pylint.epylint import Run as EpylintRun
+from pylint.lint import Run as PylintRun
+from pylint.pyreverse.main import Run as PyreverseRun
 
 
 def run_pylint():
     """run pylint"""
-    from pylint.lint import Run
 
     try:
-        Run(sys.argv[1:])
+        PylintRun(sys.argv[1:])
     except KeyboardInterrupt:
         sys.exit(1)
 
 
 def run_epylint():
     """run pylint"""
-    from pylint.epylint import Run
 
-    Run()
+    EpylintRun()
 
 
 def run_pyreverse():
     """run pyreverse"""
-    from pylint.pyreverse.main import Run
 
-    Run(sys.argv[1:])
+    PyreverseRun(sys.argv[1:])
 
 
 def run_symilar():
     """run symilar"""
-    from pylint.checkers.similar import Run
 
-    Run(sys.argv[1:])
+    SimilarRun(sys.argv[1:])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/pylint/__pkginfo__.py 
new/pylint-2.4.3/pylint/__pkginfo__.py
--- old/pylint-2.4.2/pylint/__pkginfo__.py      2019-09-30 11:07:07.000000000 
+0200
+++ new/pylint-2.4.3/pylint/__pkginfo__.py      2019-10-18 11:26:14.000000000 
+0200
@@ -22,7 +22,7 @@
 from os.path import join
 
 # For an official release, use dev_version = None
-numversion = (2, 4, 2)
+numversion = (2, 4, 3)
 dev_version = None
 
 version = ".".join(str(num) for num in numversion)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/pylint/checkers/base.py 
new/pylint-2.4.3/pylint/checkers/base.py
--- old/pylint-2.4.2/pylint/checkers/base.py    2019-09-30 11:07:07.000000000 
+0200
+++ new/pylint-2.4.3/pylint/checkers/base.py    2019-10-18 11:26:14.000000000 
+0200
@@ -52,7 +52,7 @@
 import pylint.utils as lint_utils
 from pylint import checkers, exceptions, interfaces
 from pylint.checkers import utils
-from pylint.checkers.utils import is_property_deleter, is_property_setter
+from pylint.checkers.utils import is_property_setter_or_deleter
 from pylint.reporters.ureports import nodes as reporter_nodes
 
 
@@ -316,7 +316,7 @@
     if not node.is_method():
         return "function"
 
-    if is_property_setter(node) or is_property_deleter(node):
+    if is_property_setter_or_deleter(node):
         # If the function is decorated using the prop_method.{setter,getter}
         # form, treat it like an attribute as well.
         return "attr"
@@ -2013,7 +2013,7 @@
     def visit_functiondef(self, node):
         if self.config.no_docstring_rgx.match(node.name) is None:
             ftype = "method" if node.is_method() else "function"
-            if is_property_setter(node) or is_property_deleter(node):
+            if is_property_setter_or_deleter(node):
                 return
 
             if isinstance(node.parent.frame(), astroid.ClassDef):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/pylint/checkers/classes.py 
new/pylint-2.4.3/pylint/checkers/classes.py
--- old/pylint-2.4.2/pylint/checkers/classes.py 2019-09-30 11:07:07.000000000 
+0200
+++ new/pylint-2.4.3/pylint/checkers/classes.py 2019-10-18 11:26:14.000000000 
+0200
@@ -1460,7 +1460,12 @@
         # don't care about functions with unknown argument (builtins)
         if node.args.args is None:
             return
-        first_arg = node.args.args and node.argnames()[0]
+        if node.args.args:
+            first_arg = node.argnames()[0]
+        elif node.args.posonlyargs:
+            first_arg = node.args.posonlyargs[0].name
+        else:
+            first_arg = None
         self._first_attrs.append(first_arg)
         first = self._first_attrs[-1]
         # static method
@@ -1474,7 +1479,7 @@
                 return
             self._first_attrs[-1] = None
         # class / regular method with no args
-        elif not node.args.args:
+        elif not node.args.args and not node.args.posonlyargs:
             self.add_message("no-method-argument", node=node)
         # metaclass
         elif metaclass:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/pylint/checkers/imports.py 
new/pylint-2.4.3/pylint/checkers/imports.py
--- old/pylint-2.4.2/pylint/checkers/imports.py 2019-09-30 11:07:07.000000000 
+0200
+++ new/pylint-2.4.3/pylint/checkers/imports.py 2019-10-18 11:26:14.000000000 
+0200
@@ -520,6 +520,7 @@
         self._check_wildcard_imports(node, imported_module)
         self._check_same_line_imports(node)
         self._check_reimport(node, basename=basename, level=node.level)
+        self._check_toplevel(node)
 
         if isinstance(node.parent, astroid.Module):
             # Allow imports nested
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/pylint/checkers/refactoring.py 
new/pylint-2.4.3/pylint/checkers/refactoring.py
--- old/pylint-2.4.2/pylint/checkers/refactoring.py     2019-09-30 
11:07:07.000000000 +0200
+++ new/pylint-2.4.3/pylint/checkers/refactoring.py     2019-10-18 
11:26:14.000000000 +0200
@@ -686,13 +686,20 @@
         self._check_consider_using_comprehension_constructor(node)
         self._check_quit_exit_call(node)
 
+    @staticmethod
+    def _has_exit_in_scope(scope):
+        exit_func = scope.locals.get("exit")
+        return bool(
+            exit_func and isinstance(exit_func[0], (astroid.ImportFrom, 
astroid.Import))
+        )
+
     def _check_quit_exit_call(self, node):
+
         if isinstance(node.func, astroid.Name) and node.func.name in 
BUILTIN_EXIT_FUNCS:
-            # If we have `exit` imported from `sys` in the scope, exempt this 
instance.
-            scope = node.root()
-            exit_func = scope.locals.get("exit")
-            if exit_func and isinstance(
-                exit_func[0], (astroid.ImportFrom, astroid.Import)
+            # If we have `exit` imported from `sys` in the current or global 
scope, exempt this instance.
+            local_scope = node.scope()
+            if self._has_exit_in_scope(local_scope) or self._has_exit_in_scope(
+                node.root()
             ):
                 return
             self.add_message("consider-using-sys-exit", node=node)
@@ -1047,15 +1054,14 @@
 
         elif isinstance(node.parent, (astroid.ListComp, astroid.SetComp)):
             expr = node.parent.elt
-            expr_list = (
-                expr.name
-                if isinstance(expr, astroid.Name)
-                else (
-                    [elt.name for elt in expr.elts if isinstance(elt, 
astroid.Name)]
-                    if isinstance(expr, astroid.Tuple)
-                    else []
-                )
-            )
+            if isinstance(expr, astroid.Name):
+                expr_list = expr.name
+            elif isinstance(expr, astroid.Tuple):
+                if any(not isinstance(elt, astroid.Name) for elt in expr.elts):
+                    return
+                expr_list = [elt.name for elt in expr.elts]
+            else:
+                expr_list = []
             target = node.parent.generators[0].target
             target_list = (
                 target.name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/pylint/checkers/similar.py 
new/pylint-2.4.3/pylint/checkers/similar.py
--- old/pylint-2.4.2/pylint/checkers/similar.py 2019-09-30 11:07:07.000000000 
+0200
+++ new/pylint-2.4.3/pylint/checkers/similar.py 2019-10-18 11:26:14.000000000 
+0200
@@ -19,6 +19,7 @@
 
 import sys
 from collections import defaultdict
+from getopt import getopt
 from itertools import groupby
 
 import astroid
@@ -412,7 +413,6 @@
     """standalone command line access point"""
     if argv is None:
         argv = sys.argv[1:]
-    from getopt import getopt
 
     s_opts = "hdi"
     l_opts = (
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/pylint/checkers/typecheck.py 
new/pylint-2.4.3/pylint/checkers/typecheck.py
--- old/pylint-2.4.2/pylint/checkers/typecheck.py       2019-09-30 
11:07:07.000000000 +0200
+++ new/pylint-2.4.3/pylint/checkers/typecheck.py       2019-10-18 
11:26:14.000000000 +0200
@@ -65,6 +65,7 @@
     is_inside_abstract_class,
     is_iterable,
     is_mapping,
+    is_overload_stub,
     is_super,
     node_ignores_exception,
     safe_infer,
@@ -1123,7 +1124,7 @@
         if calling_parg_names != called_param_names[: len(calling_parg_names)]:
             self.add_message("arguments-out-of-order", node=node, args=())
 
-    # pylint: disable=too-many-branches
+    # pylint: disable=too-many-branches,too-many-locals
     @check_messages(*(list(MSGS.keys())))
     def visit_call(self, node):
         """check that called functions/methods are inferred to callable 
objects,
@@ -1185,6 +1186,7 @@
 
         num_positional_args = len(call_site.positional_arguments)
         keyword_args = list(call_site.keyword_arguments.keys())
+        overload_function = is_overload_stub(called)
 
         # Determine if we don't have a context for our call and we use 
variadics.
         node_scope = node.scope()
@@ -1251,11 +1253,12 @@
                 # parameter.
                 break
             else:
-                # Too many positional arguments.
-                self.add_message(
-                    "too-many-function-args", node=node, args=(callable_name,)
-                )
-                break
+                if not overload_function:
+                    # Too many positional arguments.
+                    self.add_message(
+                        "too-many-function-args", node=node, 
args=(callable_name,)
+                    )
+                    break
 
         # 2. Match the keyword arguments.
         for keyword in keyword_args:
@@ -1290,7 +1293,7 @@
             elif called.args.kwarg is not None:
                 # The keyword argument gets assigned to the **kwargs parameter.
                 pass
-            else:
+            elif not overload_function:
                 # Unexpected keyword argument.
                 self.add_message(
                     "unexpected-keyword-arg", node=node, args=(keyword, 
callable_name)
@@ -1315,7 +1318,7 @@
                     display_name = "<tuple>"
                 else:
                     display_name = repr(name)
-                if not has_no_context_positional_variadic:
+                if not has_no_context_positional_variadic and not 
overload_function:
                     self.add_message(
                         "no-value-for-parameter",
                         node=node,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/pylint/checkers/utils.py 
new/pylint-2.4.3/pylint/checkers/utils.py
--- old/pylint-2.4.2/pylint/checkers/utils.py   2019-09-30 11:07:07.000000000 
+0200
+++ new/pylint-2.4.3/pylint/checkers/utils.py   2019-10-18 11:26:14.000000000 
+0200
@@ -706,8 +706,6 @@
     if not node.decorators:
         return False
     for decorator in node.decorators.nodes:
-        if not isinstance(decorator, astroid.Name):
-            continue
         try:
             if _is_property_decorator(decorator):
                 return True
@@ -731,11 +729,6 @@
     return _is_property_kind(node, "setter")
 
 
-def is_property_deleter(node: astroid.FunctionDef) -> bool:
-    """Check if the given node is a property deleter"""
-    return _is_property_kind(node, "deleter")
-
-
 def is_property_setter_or_deleter(node: astroid.FunctionDef) -> bool:
     """Check if the given node is either a property setter or a deleter"""
     return _is_property_kind(node, "setter", "deleter")
@@ -755,7 +748,10 @@
     return False
 
 
-def decorated_with(func: astroid.FunctionDef, qnames: Iterable[str]) -> bool:
+def decorated_with(
+    func: Union[astroid.FunctionDef, astroid.BoundMethod, 
astroid.UnboundMethod],
+    qnames: Iterable[str],
+) -> bool:
     """Determine if the `func` node has a decorator with the qualified name 
`qname`."""
     decorators = func.decorators.nodes if func.decorators else []
     for decorator_node in decorators:
@@ -1239,9 +1235,8 @@
     :param node: Node to check.
     :returns: True if node is an overload function stub. False otherwise.
     """
-    return isinstance(node, astroid.FunctionDef) and decorated_with(
-        node, ["typing.overload"]
-    )
+    decorators = getattr(node, "decorators", None)
+    return bool(decorators and decorated_with(node, ["typing.overload", 
"overload"]))
 
 
 def is_protocol_class(cls: astroid.node_classes.NodeNG) -> bool:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/pylint/extensions/docparams.py 
new/pylint-2.4.3/pylint/extensions/docparams.py
--- old/pylint-2.4.2/pylint/extensions/docparams.py     2019-09-30 
11:07:07.000000000 +0200
+++ new/pylint-2.4.3/pylint/extensions/docparams.py     2019-10-18 
11:26:14.000000000 +0200
@@ -316,7 +316,7 @@
         if not doc_has_yields:
             self.add_message("missing-yield-doc", node=func_node)
 
-        if not doc_has_yields_type:
+        if not (doc_has_yields_type or func_node.returns):
             self.add_message("missing-yield-type-doc", node=func_node)
 
     def visit_yieldfrom(self, node):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/pylint/lint.py 
new/pylint-2.4.3/pylint/lint.py
--- old/pylint-2.4.2/pylint/lint.py     2019-09-30 11:07:07.000000000 +0200
+++ new/pylint-2.4.3/pylint/lint.py     2019-10-18 11:26:14.000000000 +0200
@@ -73,7 +73,7 @@
 from astroid.__pkginfo__ import version as astroid_version
 from astroid.builder import AstroidBuilder
 
-from pylint import checkers, config, exceptions, interfaces, reporters
+from pylint import __pkginfo__, checkers, config, exceptions, interfaces, 
reporters
 from pylint.__pkginfo__ import version
 from pylint.constants import MAIN_CHECKER_NAME, MSG_TYPES, OPTION_RGX
 from pylint.message import Message, MessageDefinitionStore, 
MessagesHandlerMixIn
@@ -1761,8 +1761,6 @@
 
     def cb_generate_manpage(self, *args, **kwargs):
         """optik callback for sample config file generation"""
-        from pylint import __pkginfo__
-
         self.linter.generate_manpage(__pkginfo__)
         sys.exit(0)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/pylint/reporters/__init__.py 
new/pylint-2.4.3/pylint/reporters/__init__.py
--- old/pylint-2.4.2/pylint/reporters/__init__.py       2019-09-30 
11:07:07.000000000 +0200
+++ new/pylint-2.4.3/pylint/reporters/__init__.py       2019-10-18 
11:26:14.000000000 +0200
@@ -19,6 +19,7 @@
 """utilities methods and classes for reporters"""
 
 
+from pylint import utils
 from pylint.reporters.base_reporter import BaseReporter
 from pylint.reporters.collecting_reporter import CollectingReporter
 from pylint.reporters.json_reporter import JSONReporter
@@ -27,8 +28,6 @@
 
 def initialize(linter):
     """initialize linter with reporters in this package """
-    from pylint import utils
-
     utils.register_plugins(linter, __path__[0])
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/pylint.egg-info/PKG-INFO 
new/pylint-2.4.3/pylint.egg-info/PKG-INFO
--- old/pylint-2.4.2/pylint.egg-info/PKG-INFO   2019-09-30 11:09:59.000000000 
+0200
+++ new/pylint-2.4.3/pylint.egg-info/PKG-INFO   2019-10-18 11:29:18.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: pylint
-Version: 2.4.2
+Version: 2.4.3
 Summary: python code static checker
 Home-page: https://github.com/PyCQA/pylint
 Author: Python Code Quality Authority
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/pylint.egg-info/SOURCES.txt 
new/pylint-2.4.3/pylint.egg-info/SOURCES.txt
--- old/pylint-2.4.2/pylint.egg-info/SOURCES.txt        2019-09-30 
11:09:59.000000000 +0200
+++ new/pylint-2.4.3/pylint.egg-info/SOURCES.txt        2019-10-18 
11:29:18.000000000 +0200
@@ -338,6 +338,7 @@
 tests/functional/c/consider_using_sys_exit.py
 tests/functional/c/consider_using_sys_exit.txt
 tests/functional/c/consider_using_sys_exit_exempted.py
+tests/functional/c/consider_using_sys_exit_local_scope.py
 tests/functional/c/continue_in_finally.py
 tests/functional/c/continue_in_finally.txt
 tests/functional/c/control_pragmas.py
@@ -639,6 +640,8 @@
 tests/functional/n/no_else_raise.txt
 tests/functional/n/no_else_return.py
 tests/functional/n/no_else_return.txt
+tests/functional/n/no_method_argument_py38.py
+tests/functional/n/no_method_argument_py38.rc
 tests/functional/n/no_name_in_module.py
 tests/functional/n/no_name_in_module.txt
 tests/functional/n/no_self_argument_py37.py
@@ -867,6 +870,7 @@
 tests/functional/too/too_many_arguments_issue_1045.py
 tests/functional/too/too_many_arguments_issue_1045.rc
 tests/functional/too/too_many_arguments_issue_1045.txt
+tests/functional/too/too_many_arguments_overload.py
 tests/functional/too/too_many_boolean_expressions.py
 tests/functional/too/too_many_boolean_expressions.txt
 tests/functional/too/too_many_branches.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/extensions/test_check_return_docs.py 
new/pylint-2.4.3/tests/extensions/test_check_return_docs.py
--- old/pylint-2.4.2/tests/extensions/test_check_return_docs.py 2019-09-30 
11:07:07.000000000 +0200
+++ new/pylint-2.4.3/tests/extensions/test_check_return_docs.py 2019-10-18 
11:26:14.000000000 +0200
@@ -76,21 +76,6 @@
         ):
             self.checker.visit_return(return_node)
 
-    def test_sphinx_returns_annotations(self):
-        node = astroid.extract_node(
-            '''
-        def my_func(self) -> bool:
-            """This is a docstring.
-
-            :returns: Always False
-            """
-            return False
-        '''
-        )
-        return_node = node.body[0]
-        with self.assertNoMessages():
-            self.checker.visit_return(return_node)
-
     def test_sphinx_missing_return_type_with_annotations(self):
         node = astroid.extract_node(
             '''
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/extensions/test_check_yields_docs.py 
new/pylint-2.4.3/tests/extensions/test_check_yields_docs.py
--- old/pylint-2.4.2/tests/extensions/test_check_yields_docs.py 2019-09-30 
11:07:07.000000000 +0200
+++ new/pylint-2.4.3/tests/extensions/test_check_yields_docs.py 2019-10-18 
11:26:14.000000000 +0200
@@ -445,3 +445,38 @@
         )
         with self.assertAddsMessages(Message(msg_id="redundant-yields-doc", 
node=node)):
             self.checker.visit_functiondef(node)
+
+    def test_sphinx_missing_yield_type_with_annotations(self):
+        node = astroid.extract_node(
+            '''
+            import typing
+
+            def generator() -> typing.Iterator[int]:
+                """A simple function for checking type hints.
+
+                :returns: The number 0
+                """
+                yield 0
+            '''
+        )
+        yield_node = node.body[0]
+        with self.assertNoMessages():
+            self.checker.visit_yield(yield_node)
+
+    def test_google_missing_yield_type_with_annotations(self):
+        node = astroid.extract_node(
+            '''
+            import typing
+
+            def generator() -> typing.Iterator[int]:
+                """A simple function for checking type hints.
+
+                Yields:
+                    The number 0
+                """
+                yield 0
+            '''
+        )
+        yield_node = node.body[0]
+        with self.assertNoMessages():
+            self.checker.visit_yield(yield_node)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/functional/b/bad_reversed_sequence.py 
new/pylint-2.4.3/tests/functional/b/bad_reversed_sequence.py
--- old/pylint-2.4.2/tests/functional/b/bad_reversed_sequence.py        
2019-09-30 11:07:07.000000000 +0200
+++ new/pylint-2.4.3/tests/functional/b/bad_reversed_sequence.py        
2019-10-18 11:26:14.000000000 +0200
@@ -1,9 +1,9 @@
 """ Checks that reversed() receive proper argument """
 # pylint: disable=missing-docstring, useless-object-inheritance
 # pylint: disable=too-few-public-methods,no-self-use,no-absolute-import
-from collections import deque
+from collections import deque, OrderedDict
+from enum import IntEnum
 
-__revision__ = 0
 
 class GoodReversed(object):
     """ Implements __reversed__ """
@@ -61,8 +61,6 @@
 
 def test_dict_ancestor_and_reversed():
     """Don't emit for subclasses of dict, with __reversed__ implemented."""
-    from collections import OrderedDict
-
     class Child(dict):
         def __reversed__(self):
             return reversed(range(10))
@@ -73,8 +71,6 @@
 
 def test_dont_emit_for_reversing_enums():
     """Don't emit when reversing enum classes"""
-    from enum import IntEnum
-
     class Color(IntEnum):
         RED = 1
         GREEN = 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/functional/b/bugfix_local_scope_metaclass_1177.py 
new/pylint-2.4.3/tests/functional/b/bugfix_local_scope_metaclass_1177.py
--- old/pylint-2.4.2/tests/functional/b/bugfix_local_scope_metaclass_1177.py    
2019-09-30 11:07:07.000000000 +0200
+++ new/pylint-2.4.3/tests/functional/b/bugfix_local_scope_metaclass_1177.py    
2019-10-18 11:26:14.000000000 +0200
@@ -1,5 +1,5 @@
 # pylint: disable=missing-docstring,too-few-public-methods,import-error
-from UNINFERABLE import ImportedMetaclass
+from UNINFERABLE import ImportedMetaclass, ImportedMetaclass2
 
 
 class Meta(type):
@@ -48,8 +48,6 @@
 
 
 def imported_and_nested_scope2():
-    from UNINFERABLE import ImportedMetaclass2
-
     class ClassImp3(metaclass=ImportedMetaclass2):
         pass
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/functional/c/consider_using_enumerate.py 
new/pylint-2.4.3/tests/functional/c/consider_using_enumerate.py
--- old/pylint-2.4.2/tests/functional/c/consider_using_enumerate.py     
2019-09-30 11:07:07.000000000 +0200
+++ new/pylint-2.4.3/tests/functional/c/consider_using_enumerate.py     
2019-10-18 11:26:14.000000000 +0200
@@ -49,6 +49,7 @@
     for index in range(len(iterable)):
         yield other_obj[index]
 
+    # pylint: disable=import-outside-toplevel
     from unknown import unknown
     for index in range(unknown(iterable)):
         yield iterable[index]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/functional/c/consider_using_sys_exit_local_scope.py 
new/pylint-2.4.3/tests/functional/c/consider_using_sys_exit_local_scope.py
--- old/pylint-2.4.2/tests/functional/c/consider_using_sys_exit_local_scope.py  
1970-01-01 01:00:00.000000000 +0100
+++ new/pylint-2.4.3/tests/functional/c/consider_using_sys_exit_local_scope.py  
2019-10-18 11:26:14.000000000 +0200
@@ -0,0 +1,5 @@
+# pylint: disable=missing-docstring,import-outside-toplevel,redefined-builtin
+
+def run():
+    from sys import exit
+    exit()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/functional/i/invalid_overridden_method.py 
new/pylint-2.4.3/tests/functional/i/invalid_overridden_method.py
--- old/pylint-2.4.2/tests/functional/i/invalid_overridden_method.py    
2019-09-30 11:07:07.000000000 +0200
+++ new/pylint-2.4.3/tests/functional/i/invalid_overridden_method.py    
2019-10-18 11:26:14.000000000 +0200
@@ -51,3 +51,10 @@
     @close.deleter
     def close(self):
         return None
+
+
+class AbstractProperty:
+
+    @abc.abstractproperty
+    def prop(self):
+        return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/functional/import_outside_toplevel.py 
new/pylint-2.4.3/tests/functional/import_outside_toplevel.py
--- old/pylint-2.4.2/tests/functional/import_outside_toplevel.py        
2019-09-30 11:07:07.000000000 +0200
+++ new/pylint-2.4.3/tests/functional/import_outside_toplevel.py        
2019-10-18 11:26:14.000000000 +0200
@@ -32,3 +32,7 @@
 def k(flag):
     if flag:
         import tabnanny  # [import-outside-toplevel]
+
+
+def j():
+    from collections import defaultdict # [import-outside-toplevel]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/functional/import_outside_toplevel.txt 
new/pylint-2.4.3/tests/functional/import_outside_toplevel.txt
--- old/pylint-2.4.2/tests/functional/import_outside_toplevel.txt       
2019-09-30 11:07:07.000000000 +0200
+++ new/pylint-2.4.3/tests/functional/import_outside_toplevel.txt       
2019-10-18 11:26:14.000000000 +0200
@@ -5,3 +5,4 @@
 import-outside-toplevel:26:C:Import outside toplevel (tokenize)
 import-outside-toplevel:29:C.j:Import outside toplevel (turtle)
 import-outside-toplevel:34:k:Import outside toplevel (tabnanny)
+import-outside-toplevel:38:j:Import outside toplevel (collections)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/functional/n/no_method_argument_py38.py 
new/pylint-2.4.3/tests/functional/n/no_method_argument_py38.py
--- old/pylint-2.4.2/tests/functional/n/no_method_argument_py38.py      
1970-01-01 01:00:00.000000000 +0100
+++ new/pylint-2.4.3/tests/functional/n/no_method_argument_py38.py      
2019-10-18 11:26:14.000000000 +0200
@@ -0,0 +1,6 @@
+# pylint: disable=missing-docstring,too-few-public-methods
+
+
+class Cls:
+    def __init__(self, obj, /):
+        self.obj = obj
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/functional/n/no_method_argument_py38.rc 
new/pylint-2.4.3/tests/functional/n/no_method_argument_py38.rc
--- old/pylint-2.4.2/tests/functional/n/no_method_argument_py38.rc      
1970-01-01 01:00:00.000000000 +0100
+++ new/pylint-2.4.3/tests/functional/n/no_method_argument_py38.rc      
2019-10-18 11:26:14.000000000 +0200
@@ -0,0 +1,2 @@
+[testoptions]
+min_pyver=3.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/functional/r/redefined_outer_name_type_checking.py 
new/pylint-2.4.3/tests/functional/r/redefined_outer_name_type_checking.py
--- old/pylint-2.4.2/tests/functional/r/redefined_outer_name_type_checking.py   
2019-09-30 11:07:07.000000000 +0200
+++ new/pylint-2.4.3/tests/functional/r/redefined_outer_name_type_checking.py   
2019-10-18 11:26:14.000000000 +0200
@@ -8,6 +8,7 @@
 class Cls:
     def func(self, stuff: defaultdict):
         # This import makes the definition work.
+        # pylint: disable=import-outside-toplevel
         from collections import defaultdict
 
         obj = defaultdict()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pylint-2.4.2/tests/functional/s/string_formatting.py 
new/pylint-2.4.3/tests/functional/s/string_formatting.py
--- old/pylint-2.4.2/tests/functional/s/string_formatting.py    2019-09-30 
11:07:07.000000000 +0200
+++ new/pylint-2.4.3/tests/functional/s/string_formatting.py    2019-10-18 
11:26:14.000000000 +0200
@@ -134,7 +134,7 @@
     trying to infer EmptyNodes (resulted after mocking the
     members of namedtuples).
     """
-    from collections import namedtuple
+    from collections import namedtuple # pylint: 
disable=import-outside-toplevel
 
     class Crash(namedtuple("C", "foo bar")):
         """ Looking for attributes in __str__ will crash,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/functional/s/string_formatting_py3.py 
new/pylint-2.4.3/tests/functional/s/string_formatting_py3.py
--- old/pylint-2.4.2/tests/functional/s/string_formatting_py3.py        
2019-09-30 11:07:07.000000000 +0200
+++ new/pylint-2.4.3/tests/functional/s/string_formatting_py3.py        
2019-10-18 11:26:14.000000000 +0200
@@ -17,5 +17,5 @@
 
 
 def issue_957_uninferable():
-    from butchery import meat
+    from butchery import meat # pylint: disable=import-outside-toplevel
     print('%s%s%s' % ('eggs', *meat))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/functional/too/too_many_arguments_overload.py 
new/pylint-2.4.3/tests/functional/too/too_many_arguments_overload.py
--- old/pylint-2.4.2/tests/functional/too/too_many_arguments_overload.py        
1970-01-01 01:00:00.000000000 +0100
+++ new/pylint-2.4.3/tests/functional/too/too_many_arguments_overload.py        
2019-10-18 11:26:14.000000000 +0200
@@ -0,0 +1,38 @@
+# pylint: 
disable=missing-function-docstring,missing-module-docstring,missing-class-docstring
+# pylint: disable=too-few-public-methods
+from typing import overload
+
+
+class ClassA:
+    @classmethod
+    @overload
+    def method(cls, arg1):
+        pass
+
+    @classmethod
+    @overload
+    def method(cls, arg1, arg2):
+        pass
+
+    @classmethod
+    def method(cls, arg1, arg2=None):
+        pass
+
+
+ClassA.method(1, 2)
+
+
+class ClassB:
+    @overload
+    def method(self, arg1):
+        pass
+
+    @overload
+    def method(self, arg1, arg2):
+        pass
+
+    def method(self, arg1, arg2=None):
+        pass
+
+
+ClassB().method(1, arg2=2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/functional/u/unbalanced_tuple_unpacking.py 
new/pylint-2.4.3/tests/functional/u/unbalanced_tuple_unpacking.py
--- old/pylint-2.4.2/tests/functional/u/unbalanced_tuple_unpacking.py   
2019-09-30 11:07:07.000000000 +0200
+++ new/pylint-2.4.3/tests/functional/u/unbalanced_tuple_unpacking.py   
2019-10-18 11:26:14.000000000 +0200
@@ -2,7 +2,7 @@
 from __future__ import absolute_import
 from functional.u.unpacking import unpack
 
-# pylint: disable=using-constant-test, useless-object-inheritance
+# pylint: disable=using-constant-test, 
useless-object-inheritance,import-outside-toplevel
 
 def do_stuff():
     """This is not right."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/functional/u/unnecessary_comprehension.py 
new/pylint-2.4.3/tests/functional/u/unnecessary_comprehension.py
--- old/pylint-2.4.2/tests/functional/u/unnecessary_comprehension.py    
2019-09-30 11:07:07.000000000 +0200
+++ new/pylint-2.4.3/tests/functional/u/unnecessary_comprehension.py    
2019-10-18 11:26:14.000000000 +0200
@@ -11,6 +11,7 @@
 [x for x in iterable if condition]  # exclude comp_if
 [y for x in iterable for y in x]  # exclude nested comprehensions
 [2 * x for x in iterable]  # exclude useful comprehensions
+[(x, y, 1) for x, y in iterable]  # exclude useful comprehensions
 
 # Set comprehensions
 {x for x in iterable}  # [unnecessary-comprehension]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/functional/u/unnecessary_comprehension.txt 
new/pylint-2.4.3/tests/functional/u/unnecessary_comprehension.txt
--- old/pylint-2.4.2/tests/functional/u/unnecessary_comprehension.txt   
2019-09-30 11:07:07.000000000 +0200
+++ new/pylint-2.4.3/tests/functional/u/unnecessary_comprehension.txt   
2019-10-18 11:26:14.000000000 +0200
@@ -1,8 +1,8 @@
 unnecessary-comprehension:5::Unnecessary use of a comprehension
 unnecessary-comprehension:8::Unnecessary use of a comprehension
 unnecessary-comprehension:9::Unnecessary use of a comprehension
-unnecessary-comprehension:16::Unnecessary use of a comprehension
-unnecessary-comprehension:19::Unnecessary use of a comprehension
+unnecessary-comprehension:17::Unnecessary use of a comprehension
 unnecessary-comprehension:20::Unnecessary use of a comprehension
-unnecessary-comprehension:28::Unnecessary use of a comprehension
-unnecessary-comprehension:30::Unnecessary use of a comprehension
+unnecessary-comprehension:21::Unnecessary use of a comprehension
+unnecessary-comprehension:29::Unnecessary use of a comprehension
+unnecessary-comprehension:31::Unnecessary use of a comprehension
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pylint-2.4.2/tests/input/func_w0401_disabled_in_func.py 
new/pylint-2.4.3/tests/input/func_w0401_disabled_in_func.py
--- old/pylint-2.4.2/tests/input/func_w0401_disabled_in_func.py 2019-09-30 
11:07:07.000000000 +0200
+++ new/pylint-2.4.3/tests/input/func_w0401_disabled_in_func.py 2019-10-18 
11:26:14.000000000 +0200
@@ -1,6 +1,6 @@
 """Test disabling of cyclic import check inside a function
 """
-# pylint: disable=no-absolute-import
+# pylint: disable=no-absolute-import,import-outside-toplevel
 from __future__ import print_function
 
 


Reply via email to