Change function closure cell contents

Hello! Here's a very simple example (Python 3):
My question is, what's the easiest/most natural way of changing the contents of this closure cell on PyPy? On CPython there's a way using ctypes. This is regarding https://github.com/python-attrs/attrs/issues/102, but the issue boils down to this. Cheers!

Hi Tin, On 27 July 2017 at 16:17, Tin Tvrtković <tinchester@gmail.com> wrote:
My question is, what's the easiest/most natural way of changing the contents of this closure cell on PyPy?
On PyPy you can do (tested on PyPy2): cell = g.func_closure[0] cell.__setstate__((43,)) # sets the 'cell_contents' attribute to 43 Armin

That seems to work! I'd just like to add, Armin, that whenever I have a question you are almost always the first to respond and your replies are always very helpful and insightful. It is very much appreciated; thank you. :) On Thu, Jul 27, 2017 at 11:59 PM Armin Rigo <armin.rigo@gmail.com> wrote:

Hi Tin, On 27 July 2017 at 16:17, Tin Tvrtković <tinchester@gmail.com> wrote:
My question is, what's the easiest/most natural way of changing the contents of this closure cell on PyPy?
On PyPy you can do (tested on PyPy2): cell = g.func_closure[0] cell.__setstate__((43,)) # sets the 'cell_contents' attribute to 43 Armin

That seems to work! I'd just like to add, Armin, that whenever I have a question you are almost always the first to respond and your replies are always very helpful and insightful. It is very much appreciated; thank you. :) On Thu, Jul 27, 2017 at 11:59 PM Armin Rigo <armin.rigo@gmail.com> wrote:
participants (2)
-
Armin Rigo
-
Tin Tvrtković