]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-150886: Remove unused importlib._bootstrap._object_name (#150884)
authorBernát Gábor <gaborjbernat@gmail.com>
Thu, 4 Jun 2026 20:08:58 +0000 (13:08 -0700)
committerGitHub <noreply@github.com>
Thu, 4 Jun 2026 20:08:58 +0000 (20:08 +0000)
Introduced in GH-23469 (bpo-26131, "Deprecate usage of load_module()")
to render an object's qualified name inside the load_module()
deprecation warnings.

Orphaned by gh-142205 (GH-97850, "Remove all uses and definitions of
load_module() from importlib"), which deleted the warning-building call
sites f"{_object_name(spec.loader)}.exec_module() not found; ..." and
left the helper with no caller.

A word-boundary search across Lib, Modules, Python, Objects and Include
finds zero references outside its own definition, and a GitHub code
search finds no downstream importers. The frozen importlib was
regenerated; importlib._bootstrap._object_name no longer exists at
runtime and the full test_importlib suite passes.

Lib/importlib/_bootstrap.py
Misc/NEWS.d/next/Library/2026-06-03-21-59-11.gh-issue-150886.r2c25g.rst [new file with mode: 0644]

index 06dc45d71d7ca4ab678923df1da91d295682cd31..eb1686a5c8217c6ea3b7f0893b010b393c5e5422 100644 (file)
@@ -20,12 +20,6 @@ work. One should use importlib as the public-facing version of this module.
 # reference any injected objects! This includes not only global code but also
 # anything specified at the class level.
 
-def _object_name(obj):
-    try:
-        return obj.__qualname__
-    except AttributeError:
-        return type(obj).__qualname__
-
 # Bootstrap-related code ######################################################
 
 # Modules injected manually by _setup()
diff --git a/Misc/NEWS.d/next/Library/2026-06-03-21-59-11.gh-issue-150886.r2c25g.rst b/Misc/NEWS.d/next/Library/2026-06-03-21-59-11.gh-issue-150886.r2c25g.rst
new file mode 100644 (file)
index 0000000..b220b63
--- /dev/null
@@ -0,0 +1,4 @@
+Remove the private, undocumented function
+``importlib._bootstrap._object_name()``. It had no caller after
+``load_module()`` and its deprecation warnings were removed from
+:mod:`importlib`.