]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.15] gh-153210: Restore accidental `array.ArrayType` removal (GH-153261) (#153274)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 7 Jul 2026 17:26:05 +0000 (19:26 +0200)
committerGitHub <noreply@github.com>
Tue, 7 Jul 2026 17:26:05 +0000 (17:26 +0000)
gh-153210: Restore accidental `array.ArrayType` removal (GH-153261)
(cherry picked from commit ac2e14b4e29b2d11a14d289969cfffc298ea75d9)

Co-authored-by: sobolevn <mail@sobolevn.me>
Lib/test/test_array.py
Modules/arraymodule.c

index b24d070330164de07ee914b21f2bbae293cd0ca1..42213120fb6ced44b8c7b542d51f3b5bd911503c 100755 (executable)
@@ -38,6 +38,11 @@ typecodes = (
 
 class MiscTest(unittest.TestCase):
 
+    def test_array_type_importable(self):
+        from array import ArrayType
+
+        self.assertIs(array.array, ArrayType)
+
     def test_array_is_sequence(self):
         self.assertIsInstance(array.array("B"), collections.abc.MutableSequence)
         self.assertIsInstance(array.array("B"), collections.abc.Reversible)
index 88869f2b22e45fd281591427dd9a4a1b00b4f3f0..a775896db874a6edaf1270ffe61e487f660c8d54 100644 (file)
@@ -3502,6 +3502,12 @@ array_modexec(PyObject *m)
     CREATE_TYPE(m, state->ArrayIterType, &arrayiter_spec);
     Py_SET_TYPE(state->ArrayIterType, &PyType_Type);
 
+    // Older undocumented alias:
+    if (PyModule_AddObjectRef(m, "ArrayType",
+                              (PyObject *)state->ArrayType) < 0) {
+        return -1;
+    }
+
     PyObject *mutablesequence = PyImport_ImportModuleAttrString(
             "collections.abc", "MutableSequence");
     if (!mutablesequence) {