[New-bugs-announce] [issue46546] `importlib.metadata.DeprecatedList` leaks `method_name` variable

Nikita Sobolev report at bugs.python.org
Thu Jan 27 06:24:52 EST 2022

New submission from Nikita Sobolev <mail at sobolevn.me>:

Right now in `DeprecatedList` there's a possibly unwated name leak of `method_name` here: https://github.com/python/cpython/blob/08c0ed2d9c0d01ad1a5adc0787bc75e4e90cbb85/Lib/importlib/metadata/__init__.py#L295-L308

for method_name in [
        locals()[method_name] = _wrap_deprecated_method(method_name)


>>> import importlib
>>> import importlib.metadata
>>> importlib.metadata.DeprecatedList.method_name

Right now `method_name` is unused, undocumented, and untested.

My proposal is to add `del method_name` after the `for` loop, so it won't leak.

components: Library (Lib)
messages: 411855
nosy: brett.cannon, jaraco, sobolevn
priority: normal
severity: normal
status: open
title: `importlib.metadata.DeprecatedList` leaks `method_name` variable
type: behavior
versions: Python 3.11

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list