On Tue, 12 Jan 2021 15:22:36 +0100
Petr Viktorin <encu...@gmail.com> wrote:
> On 1/11/21 5:26 PM, Victor Stinner wrote:
> > Hi,
> > 
> > There are multiple PEPs covering heap types. The latest one refers to
> > other PEPs: PEP 630 "Isolating Extension Modules" by Petr Viktorin.
> > https://www.python.org/dev/peps/pep-0630/#motivation
> > 
> > The use case is to embed multiple Python instances (interpreters) in
> > the same application process, or to embed Python with multiple calls
> > to Py_Initialize/Py_Finalize (sequentially, not in parallel). Static
> > types are causing different issues for these use cases.  
> 
> If a type is immutable and has no references to heap-allocated objects, 
> it could stay as a static type.
> The issue is that very many types don't fit that. For example, if some 
> method needs to raise a module-specific exception, that's a reference to 
> a heap-allocated type, because custom exceptions generally aren't static.

Aren't we confusing two different things here?

- a mutable *type*, i.e. a type with mutable state attached to itself
  (not to instances)

- a mutable *instance*, where the mutable state is per-instance

While it's very common for custom exceptions to have mutable instance
state (e.g. a backend-specific error number), I can't think of any
custom exception that has mutable state attached to the exception
*type*.

> > Also, it's not possible to destroy static types at Python exit, which
> > goes against the on-going effort to destroy all Python objects at exit
> > (bpo-1635741).  
> 
> I don't see why we would need to destroy immutable static objects. They 
> don't need to be freed.

Right.

Regards

Antoine.

_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/FNSTYH7AQQUJFCD354AWDXVZWCLNV462/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to