* Fix test_import: import machinery and errors
- Emit IMPORT_FROM instead of LOAD_ATTR for `import a.b.c as m`
- Add "partially initialized module" error for circular imports
- Add "cannot access submodule" error for initializing submodules
- Implement script shadowing detection with "consider renaming" hint
- Detect user scripts shadowing stdlib/third-party modules
- Compute original sys.path[0] from sys.argv[0]
- Check sys.stdlib_module_names for stdlib detection
- Respect safe_path setting
- Implement _imp._fix_co_filename for code source_path rewriting
- Add data parameter to _imp.get_frozen_object with marshal deser
- Fix import_from: check __spec__.has_location before using origin
- Set ImportError.path attribute on import failures
- Fix import_star error messages for non-str __all__/__dict__ items
- Always call builtins.__import__ in import_inner
* Propagate __bool__ errors from fromlist in import
Previously, try_to_bool errors were silently swallowed via .ok(),
causing fromlist with broken __bool__ to default to false.
* Update codeop from v3.14.3
* Fix traceback, syntax errors, and exception handling
- Improve unclosed bracket detection with "'(' was never closed" message
- Fix IndentationError location to point to end of line
- Implement frame.clear() with proper checks for executing/suspended frames
- Fix exception context chaining for propagated exceptions
- Add traceback.__dir__() and prevent tb_next deletion
- Fix subscript operation source range restoration in compiler
- Change "duplicate parameter" to "duplicate argument" error message
- Refactor duplicate code in asyncgenerator.rs and frame.rs
---------
Co-authored-by: CPython Developers <>
- Add already_warned() with filter version tracking
- Add type validation for _defaultaction and _onceregistry
- Use direct function names for _warnings pyattr/pyfunction
- Route stdlib::warnings::warn through warn::warn
- Remove spurious EncodingWarning from TextIOWrapper
- Clean up comments and simplify check_matched error handling
- Remove expectedFailure from 3 passing test_warnings tests
* Update `_compat_pickle.py` from 3.14.2
* Update `pickle.py` from 3.14.2
* Update pickletools and tests
* Update all other pickle related files
* Make `test_extcall` to use modified doctest checker
* remove duplicated _call_typing_func_object() functions
Move _call_typing_func_object() code to
stdlib::typing::call_typing_func_object().
Use that function everywhere.
* support | operation between typing.Union and strings
Adds support for performing '|' operation between Union objects and
strings, e.g. forward type references.
For example following code:
from typing import Union
U1 = Union[int, str]
U1 | "float"
The result of the operation above becomes:
int | str | ForwardRef('float')