mirror of
https://github.com/RustPython/RustPython.git
synced 2026-10-29 03:04:38 +08:00
* Record native docstrings the doc DB generator skipped - Stop ignoring `__dir__`; skip `__base__`, `__bases__` and `__module__` instead. - Recurse into native classes whose metaclass is not `type`, and also key a class stored under another attribute name by its own `__name__`. - Collect native objects exposed by pure-Python modules, such as the codec error handlers, under their own `__module__` and `__name__`. - Key types found through `object.__subclasses__()` by their own module as well as `builtins`. - Record getset/member descriptors named like class metadata (`coroutine.__name__`), and native types a module exposes only through an instance (`sys.flags`). - Treat a class as native only when it owns its C descriptors, so an enum holding a copied `str.__format__` is skipped. - Keep docstrings unstripped, and import every module in sorted order before walking them. - Apply the resulting key delta, measured on macOS with CPython 3.14.7, to data.inc.rs. Assisted-by: Claude:claude-opus-5-5 Assisted-by: Grok:grok-4.7 * Stop Rust comments on Python items from becoming __doc__ Use `//` instead of `///` on Python-exposed items so their comments are not published as `__doc__`. Assisted-by: Claude:claude-opus-5-5 Assisted-by: Grok:grok-4.7 * Match native names, signatures and doc lookup - Rename the weakref type to `weakref.ReferenceType` and define `__class_getitem__` on `_ctypes.Array` instead of its metaclass. - Give each name of a multi-name `#[pymodule(sub)]` function (`posix.remove`/`unlink`) its database doc. - Fill methods from `with(...)` traits (dict view `__reversed__`, `isdisjoint`) with the implementing class's database doc. - Resolve database docs for `#[pymodule]` classes at macro time, and for the codec error handlers and `_lzma.LZMAError` in const context. - Add `Context::new_exception_type_with_doc`. - Match `posix_spawn` parameter names and defaults, make `dict_keys` and `dict_items` unhashable, add `_CData.__ctypes_from_outparam__`, and omit the Windows-only lines of `sys.__doc__` on other platforms. Assisted-by: Claude:claude-opus-5-5 Assisted-by: Grok:grok-4.7 * Give struct sequence fields their database docs `new_readonly_tuple_member` takes the field doc, looked up in the class's attribute doc table through the new `class_attr_item_doc`. Assisted-by: Claude:claude-opus-5-5 * Look up pymodule(sub) docs by an explicit module name posix and nt share one doc entry. A sub module sets name to the Python module it is merged into, and doc lookup uses that name. Assisted-by: Claude:claude-opus-5-5 Assisted-by: Grok:grok-4.7 * Record pending class doc bodies on PyMethodDef The pymethod derive sets doc_body_pending when a method has no Rust doc body and expansion did not resolve a database span. concat_with_attr_docs copies that span from the class table and clears the flag. Other constructors leave the flag false. Assisted-by: Claude:claude-opus-5-5 Assisted-by: Grok:grok-4.7 * Name argument fields after their Python parameters PosixSpawnArgs.args is renamed to argv, and nt's follow_symlinks field drops a name override equal to the field name. Assisted-by: Claude:claude-opus-5-5