pylint-bot / astroid-unofficial

UNOFFICIAL playground for astroid github migration
GNU Lesser General Public License v2.1
0 stars 0 forks source link

[modular-locals bugs] Python 2 infinite recursion #252

Closed pylint-bot closed 8 years ago

pylint-bot commented 8 years ago

Originally reported by: BitBucket: ceridwenv, GitHub: ceridwenv


Unfortunately, I've introduced an infinite recursion that's occurring in a lot of the tests on Python 2. There has to be a base case here, but I'm not sure what it is.

  File "astroid/scoped_nodes.py", line 155, in locals
    return MappingProxyType(get_locals(self))
  File "~/code/astroid/.tox/py27/local/lib/python2.7/site-packages/singledispatch.py", line 210, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "astroid/scoped_nodes.py", line 1874, in scoped_node
    _get_locals(n, locals_, node)
  File "~/code/astroid/.tox/py27/local/lib/python2.7/site-packages/singledispatch.py", line 210, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "astroid/scoped_nodes.py", line 1949, in locals_import_from
    imported = node.do_import_module()
  File "astroid/mixins.py", line 116, in do_import_module
    if mymodule.relative_to_absolute_name(modname, level) == mymodule.name:
  File "astroid/scoped_nodes.py", line 515, in relative_to_absolute_name
    if self.absolute_import_activated() and level is None:
  File "astroid/scoped_nodes.py", line 491, in absolute_import_activated
    return self._absolute_import_activated
  File "astroid/decorators.py", line 79, in __get__
    val = self.wrapped(inst)
  File "astroid/scoped_nodes.py", line 483, in _absolute_import_activated
    for stmt in self.locals.get('absolute_import', ()):
  File "astroid/scoped_nodes.py", line 155, in locals
    return MappingProxyType(get_locals(self))

pylint-bot commented 8 years ago

Original comment by BitBucket: ceridwenv, GitHub: ceridwenv:


Fixed in 3e3b3e936b69 by using the new future_imports property.