bpo-30024: Circular imports involving absolute imports with binding (… · python/cpython@f93234b (original) (raw)

Original file line number Diff line number Diff line change
@@ -2546,7 +2546,7 @@ compiler_import_as(struct compiler *c, identifier name, identifier asname)
2546 2546 merely needs to bind the result to a name.
2547 2547
2548 2548 If there is a dot in name, we need to split it and emit a
2549 - LOAD_ATTR for each name.
2549 + IMPORT_FROM for each name.
2550 2550 */
2551 2551 Py_ssize_t dot = PyUnicode_FindChar(name, '.', 0,
2552 2552 PyUnicode_GET_LENGTH(name), 1);
@@ -2566,7 +2566,7 @@ compiler_import_as(struct compiler *c, identifier name, identifier asname)
2566 2566 PyUnicode_GET_LENGTH(name));
2567 2567 if (!attr)
2568 2568 return 0;
2569 -ADDOP_O(c, LOAD_ATTR, attr, names);
2569 +ADDOP_O(c, IMPORT_FROM, attr, names);
2570 2570 Py_DECREF(attr);
2571 2571 pos = dot + 1;
2572 2572 }