New submission from bolorsociedad <perezarribas.ima...@gmail.com>:
The decorator functools.lru_cache seems to not work properly when the function to be memoized returns a mutable object. For instance: >>> import functools >>> @functools.lru_cache() ... def f(x): ... return [x, x + 1] ... >>> a = f(4) >>> print(a) [4, 5] >>> a[0] = 0 >>> f(4) [0, 5] When the returned mutable object is modified, the cache is modified as well. In my opinion, functools.lru_cache should store a deep copy of the returned object. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue35300> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com