[issue46622] Support decorating a coroutine with functools.cached_property

Tzu-ping Chung report at bugs.python.org
Mon Feb 14 06:30:00 EST 2022


Tzu-ping Chung <uranusjr at gmail.com> added the comment:

I agree that `print(await a.hello)` does look awkward, although I know some would disagree. (Context: I submitted this BPO after a colleague of mine at $WORK pointed out the behavioural difference between `functools` and `cached_property to me.)

Personally I’d feel this more natural:

class Foo:
    @functools.cache
    async def go(self):
        print(1)

async def main():
    foo = Foo()
    await foo.go()
    await foo.go()

Although now I just noticed this actually does not work either.

Perhaps we should fix this instead and add a line in the documentation under cached_property to point people to the correct path?

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue46622>
_______________________________________


More information about the Python-bugs-list mailing list