summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
authorPablo Galindo Salgado <Pablogsal@gmail.com>2021-07-24 13:33:03 (GMT)
committerGitHub <noreply@github.com>2021-07-24 13:33:03 (GMT)
commit3eae8f20d7b6f88d3618b0afc94893165a914022 (patch)
treee098fef6bc72a2a48762bf8a8c1670956e845024 /Objects
parentc8362314cce53a5b59da7523fbdfa00f122aa319 (diff)
downloadcpython-3eae8f20d7b6f88d3618b0afc94893165a914022.zip
cpython-3eae8f20d7b6f88d3618b0afc94893165a914022.tar.gz
cpython-3eae8f20d7b6f88d3618b0afc94893165a914022.tar.bz2
Revert "bpo-44717: improve AttributeError on circular imports of submodules (GH-27299)" (GH-27331)
This reverts commit 8072a1181dd64135f700b44372fbf7bf91e68072.
Diffstat (limited to 'Objects')
-rw-r--r--Objects/moduleobject.c30
1 files changed, 0 insertions, 30 deletions
diff --git a/Objects/moduleobject.c b/Objects/moduleobject.c
index 1c37eb0..ef39bde 100644
--- a/Objects/moduleobject.c
+++ b/Objects/moduleobject.c
@@ -739,30 +739,6 @@ _PyModuleSpec_IsInitializing(PyObject *spec)
return 0;
}
-/* Check if the submodule name is in the "_uninitialized_submodules" attribute
- of the module spec.
- */
-int
-_PyModuleSpec_IsUninitializedSubmodule(PyObject *spec, PyObject *name)
-{
- if (spec == NULL) {
- return 0;
- }
-
- _Py_IDENTIFIER(_uninitialized_submodules);
- PyObject *value = _PyObject_GetAttrId(spec, &PyId__uninitialized_submodules);
- if (value == NULL) {
- return 0;
- }
-
- int is_uninitialized = PySequence_Contains(value, name);
- Py_DECREF(value);
- if (is_uninitialized == -1) {
- return 0;
- }
- return is_uninitialized;
-}
-
static PyObject*
module_getattro(PyModuleObject *m, PyObject *name)
{
@@ -797,12 +773,6 @@ module_getattro(PyModuleObject *m, PyObject *name)
"(most likely due to a circular import)",
mod_name, name);
}
- else if (_PyModuleSpec_IsUninitializedSubmodule(spec, name)) {
- PyErr_Format(PyExc_AttributeError,
- "cannot access submodule '%U' of module '%U' "
- "(most likely due to a circular import)",
- name, mod_name);
- }
else {
PyErr_Format(PyExc_AttributeError,
"module '%U' has no attribute '%U'",