Jeong, YunWon and CPython Developers
d567e25ac9
Upgrade typing from 3.14.2 and more impl ( #7057 )
...
* Implement TypeAliasType, type annotations, and genericalias fixes
- TypeAliasType: lazy value evaluation via closures, __module__,
__parameters__, __iter__, evaluate_value, check_type_params,
IMMUTABLETYPE flag, Hashable/AsMapping/Iterable traits
- TypeAliasType constructor: positional-or-keyword arg validation,
duplicate/unexpected kwarg rejection
- type.__annotations__ setter: distinguish None assignment from deletion
- Annotation scope: name as __annotate__, format as positional-only,
__conditional_annotations__ uses Cell for both load and store
- Compiler: proper TypeParams/TypeAlias scope with closures,
find_ann covers match/try-except handlers
- symboltable: deduplicate TypeAlias value scope code
- GenericAlias repr: handle list args, avoid deadlock in repr_arg
by cloning items before calling repr
- AST types: remove IMMUTABLETYPE (heap types, mutable)
- pymodule macro: preserve existing __module__ getset descriptors
* Update typing from v3.14.3
* Implement TypeAliasType, type annotations, and genericalias fixes
- TypeAliasType: lazy value evaluation via closures, __module__,
__parameters__, __iter__, evaluate_value, check_type_params,
IMMUTABLETYPE flag, Hashable/AsMapping/Iterable traits
- TypeAliasType constructor: positional-or-keyword arg validation,
duplicate/unexpected kwarg rejection
- type.__annotations__ setter: distinguish None assignment from deletion
- Annotation scope: name as __annotate__, format as positional-only,
__conditional_annotations__ uses Cell for both load and store
- Compiler: proper TypeParams/TypeAlias scope with closures,
find_ann covers match/try-except handlers
- symboltable: deduplicate TypeAlias value scope code
- GenericAlias: implement gaiterobject (generic_alias_iterator),
starred equality comparison, starred pickle via iterator reduce,
split attr_exceptions/attr_blocked for correct __dir__,
make_parameters/subs_parameters handle list/tuple args recursively,
repr_arg indexed access for mutation safety
- AST types: remove IMMUTABLETYPE (heap types, mutable)
- pymodule macro: preserve existing __module__ getset descriptors
---------
Co-authored-by: CPython Developers <>
2026-02-11 09:39:04 +09:00
Jeong, YunWon
a5fc3a82de
reason inside #[allow] ( #7049 )
2026-02-08 13:11:50 +00:00
Jeong, YunWon
3b956c8733
Support #[cfg] in with ( #6975 )
2026-02-03 18:55:59 +09:00
Jeong, YunWon
111ced08e4
Fix member_descriptor to match CPython behavior ( #6915 )
...
descriptor.rs:
- Add __objclass__, __name__ (pymember) and __reduce__ (pymethod)
- Add type check (descr_check) in descr_get; simplify None branch
- Remove incorrect BASETYPE flag
- Add MemberKind::Object (_Py_T_OBJECT = 6)
- Prevent Bool slot deletion (TypeError)
- Raise AttributeError on ObjectEx deletion when already None
pyclass.rs (derive-impl):
- Remove duplicate MemberKind enum; use MemberKindStr (Option<String>)
- Simplify MemberNursery map key from (String, MemberKind) to String
- Support #[pymember(type="object")] for _Py_T_OBJECT semantics
test_inspect.py:
- Remove expectedFailure from test_getdoc (now passing)
2026-02-01 09:41:38 +09:00
Noa
276a4bdc80
Make paths in macro arguments relative to the source file, not MANIFEST_DIR ( #6873 )
2026-01-30 22:37:18 +09:00
Noa
617cdc9724
Make validate_downcastable_from unsafe ( #6851 )
2026-01-26 10:39:08 +09:00
Jeong YunWon
20376451eb
Implement Py_mod_create slot support in multi-phase init
2026-01-22 11:21:42 +09:00
Jeong YunWon
bc02b2318c
module_exec
2026-01-21 22:39:40 +09:00
Jeong YunWon
32d2406fa8
module_def
2026-01-21 22:39:40 +09:00
Jeong, YunWon
2da102fab8
FromArgs with error_msg ( #6804 )
2026-01-20 02:10:19 +09:00
Jeong, YunWon
9301ae2746
traverse and clear ( #6780 )
2026-01-18 23:23:11 +09:00
Jeong, YunWon
f5b44f505a
Fix Exception.__init__
2026-01-17 19:21:11 +09:00
Noa
09bde28281
Move typeid into vtable ( #6231 )
...
* Move typeid into vtable
* Bump rust-version
2026-01-07 12:33:29 +09:00
Jeong, YunWon
346519bb6b
Warn user not to override special magic methods ( #6625 )
2026-01-02 17:49:55 +09:00
Terry Tianlin Luan
1464d5ca43
Adding + Fixing Clippy rules to better align with #[no_std] ( #6570 )
...
* * Added alloc_instead_of_core, std_instead_of_alloc, and std_instead_of_core clippy rules
* Manually changed part of the code to use core/alloc
* use clippy --fix to fix issues in stdlib
* * Used clippy --fix to fix issues in vm
* Imported Range in vm/src/anystr.rs
* * Used clippy --fix to fix issues in common
2025-12-30 13:10:14 +09:00
Jeong, YunWon
476b75de49
Upgrade test_io from 3.13.11 and fix more io tests ( #6565 )
...
* fix various test_io
* Upgrade test_io from 3.13.11
* Fix more test_io
2025-12-28 20:36:15 +09:00
Jeong, YunWon
3600b6652d
update _pyio, test_fileio from 3.13.11 and impl more io features ( #6560 )
...
* Update _pyio, test_fileio from 3.13.11
* impl more io
* unmark sucessful tests
* fix windows fileio
2025-12-28 18:06:47 +09:00
Jeong, YunWon
f8199d7099
impl basicsize ( #6557 )
...
* shape_differs
* may_add_dict
* basicsize
2025-12-28 14:25:10 +09:00
Jeong, YunWon
7edc3bba5d
tp_itemsize ( #6544 )
2025-12-28 10:27:58 +09:00
Jeong, YunWon
c9bf8df19c
copyslot for init ( #6515 )
2025-12-26 09:46:33 +09:00
Jeong, YunWon
fdd2ac3b30
disallow __new__, __init__ ( #6446 )
...
* disallow __new__, __init__
* migrate to Initializer
* apply review
2025-12-22 21:10:43 +09:00
Jeong, YunWon and snowapril
246fab63f7
flag: DISALLOW_INSTANTIATION ( #6445 )
...
* Set tp_new slot when build heap/static type
* Improve type tp_call impl to check tp_new existence and error if not exist
* Set DISALLOW_INSTANTIATION flag on several types according to cpython impl
* Allow #[pyslot] for function pointer
* Fix DISALLOW_INSTANTIATION
---------
Signed-off-by: snowapril <sinjihng@gmail.com >
Co-authored-by: snowapril <sinjihng@gmail.com >
2025-12-17 00:12:03 +09:00
Jeong, YunWon
d36a2cffde
New subclass payload layout ( #6319 )
...
* PySubclass
* Add base payload to exception
* PyStructSequecne base
* redefine PyOSError and subtypes
* heap exception new
* rework UNSUPPORTED_OPERATION
2025-12-14 19:17:14 +09:00
Jeong, YunWon
21300f689d
Allow with() in pyexception ( #6436 )
2025-12-14 12:16:49 +09:00
Jeong, YunWon
c826f9d809
PyStructSequence Compatibility ( #6327 )
...
* Fix local time
* PyStructSequence
2025-12-05 22:44:00 +09:00
Shahar Naveh
6479a2063c
move derive-impl -> crates/derive-impl ( #6263 )
2025-11-15 19:49:00 +09:00