From e6a50a75c6b022812e7622a5f036488daf8ab243 Mon Sep 17 00:00:00 2001 From: Jarry Shaw Date: Fri, 25 Sep 2026 08:31:25 -0400 Subject: [PATCH] docs: render #771's two unregistered-member helpers in numbers.rst (#780) * Add `.. autofunction::` stubs for `_rebuild_unregistered_member` and `_reduce_unregistered_member` under the existing Internal Definitions heading. Both carry full `Args:`/`Returns:` docstrings that went unrendered because the file listed no stubs for them. This follows the `_purge` precedent in `3rdparty.rst` rather than a blanket `:private-members:` toggle, which stays commented out repo-wide. * Promote the two prose references to `_rebuild_unregistered_member` from double backticks to `:func:` roles, now that the stubs make them resolve. They were literals deliberately, to avoid a dangling cross-reference while the stubs were absent. Docs build: 53 warnings before, 53 after -- byte-for-byte identical after sorting. Both stubs render with their own anchors and the two prose references resolve to internal links. --- docs/source/pcapkit/corekit/fields/numbers.rst | 4 ++++ pcapkit/corekit/fields/numbers.py | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/source/pcapkit/corekit/fields/numbers.rst b/docs/source/pcapkit/corekit/fields/numbers.rst index af4ec968d5..bc078341b2 100644 --- a/docs/source/pcapkit/corekit/fields/numbers.rst +++ b/docs/source/pcapkit/corekit/fields/numbers.rst @@ -52,6 +52,10 @@ Internal Definitions :members: :show-inheritance: +.. autofunction:: pcapkit.corekit.fields.numbers._rebuild_unregistered_member + +.. autofunction:: pcapkit.corekit.fields.numbers._reduce_unregistered_member + Type Variables -------------- diff --git a/pcapkit/corekit/fields/numbers.py b/pcapkit/corekit/fields/numbers.py index 7ed5f2884b..151cd1d896 100644 --- a/pcapkit/corekit/fields/numbers.py +++ b/pcapkit/corekit/fields/numbers.py @@ -677,7 +677,7 @@ def _unregistered_member(namespace: 'Type[StdlibEnum] | Type[AenumEnum]', surfaced only on read-back rather than where it was caused. So ``__reduce_ex__`` is set on the member itself, reducing it to - ``_rebuild_unregistered_member`` instead of to a value lookup. + :func:`_rebuild_unregistered_member` instead of to a value lookup. Both :mod:`pickle` and :mod:`copy` fetch that attribute with :func:`getattr` on the object rather than on its type, so a per-instance override is honoured: verified against the C @@ -801,7 +801,7 @@ def _reduce_unregistered_member( # pylint: disable=unused-argument is the same for all of them, and :mod:`copy` passes 4 here. Returns: - A two-tuple of ``_rebuild_unregistered_member`` and its arguments. + A two-tuple of :func:`_rebuild_unregistered_member` and its arguments. """ return (_rebuild_unregistered_member, (namespace, value, name, attrs))