Skip to content

reprlib.recursive_repr is not setting .__wrapped__ attribute #107409

Closed
@denballakh

Description

@denballakh

Bug report

There is no way to get original actual __repr__ function after applying @recursive_repr decorator

import reprlib
class X:
    @reprlib.recursive_repr()
    def __repr__(self) -> str:
        return f'X({self.__dict__})'

# how to get initial X.__repr__ back?
# this doesn't work:
X.__repr__.__wrapped__ # AttributeError: 'function' object has no attribute '__wrapped__'
# this is awful:
X.__repr__.__closure__[2].cell_contents

Your environment

  • CPython versions tested on: 3.11, 3.13.0a0

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    type-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions