When the tuple is destroyed each of the members will have their reference
count decremented. The tuple 'steals' the references of the members when
it's constructed, hence why there's the call to Incref and no need for a
corresponding decref. This happens in the Python C API and so there's no
need to do anything in the C# code when the tuple is destroyed.

On Wed, Mar 30, 2016 at 8:38 PM Steven Burns <royalstr...@hotmail.com>
wrote:

> I'm creating PyTuple instances using the constructor.
>
> I noticed the constructor calls Runtime.Incref for each of the tuple
> elements.
>
> But PyTuple doesn't override PyObject's implementation of IDisposable.
>
> It's not clear to me when this references will be cleared.
>
> Thanks,
>
> Steven
>
>
> _________________________________________________
> Python.NET mailing list - PythonDotNet@python.org
> https://mail.python.org/mailman/listinfo/pythondotnet
_________________________________________________
Python.NET mailing list - PythonDotNet@python.org
https://mail.python.org/mailman/listinfo/pythondotnet

Reply via email to