From 457a459c7804950d4c27a243b176eb933ec87a06 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 14 Jun 2023 00:32:12 +0200 Subject: [PATCH] gh-98040: Fix importbench: use types.ModuleType() (#105743) Replace removed imp.new_module(name) with types.ModuleType(name). --- Doc/whatsnew/3.12.rst | 2 ++ Tools/importbench/importbench.py | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Doc/whatsnew/3.12.rst b/Doc/whatsnew/3.12.rst index bfbc6c7a35c..1e063ed7d22 100644 --- a/Doc/whatsnew/3.12.rst +++ b/Doc/whatsnew/3.12.rst @@ -1369,6 +1369,8 @@ Removed * The :mod:`!imp` module has been removed. (Contributed by Barry Warsaw in :gh:`98040`.) + * Replace ``imp.new_module(name)`` with ``types.ModuleType(name)``. + * Removed the ``suspicious`` rule from the documentation Makefile, and removed ``Doc/tools/rstlint.py``, both in favor of `sphinx-lint `_. diff --git a/Tools/importbench/importbench.py b/Tools/importbench/importbench.py index 619263b553c..0c4b3bc7351 100644 --- a/Tools/importbench/importbench.py +++ b/Tools/importbench/importbench.py @@ -15,6 +15,7 @@ import py_compile import sys import tabnanny import timeit +import types def bench(name, cleanup=lambda: None, *, seconds=1, repeat=3): @@ -40,7 +41,7 @@ def bench(name, cleanup=lambda: None, *, seconds=1, repeat=3): def from_cache(seconds, repeat): """sys.modules""" name = '' - module = imp.new_module(name) + module = types.ModuleType(name) module.__file__ = '' module.__package__ = '' with util.uncache(name):