Message391595
Guido:
> Sorry for making this a deferred blocker. I recall that we had a brief discussion somewhere about an accidental change to the array.array type -- this is now a heap type (Py_TPFLAGS_HEAPTYPE is set), and as a consequence it is no longer immutable.
*Many* static types have been converted to heap types in Python 3.9 and Python 3.10. Is there a rule to decide which types should be mutable or not?
All types implemented in Python are mutable, unless the very few which use slots.
By the way, some cases can be inherited or not. Do we care about that?
Example:
$ python3
Python 3.9.2 (default, Feb 20 2021, 00:00:00)
>>> def f(): pass
...
>>> class MyFuncType(type(f)): pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: type 'function' is not an acceptable base type |
|
Date |
User |
Action |
Args |
2021-04-22 12:41:17 | vstinner | set | recipients:
+ vstinner, gvanrossum, Mark.Shannon, corona10, shihai1991, erlendaasland |
2021-04-22 12:41:17 | vstinner | set | messageid: <1619095277.87.0.757130117807.issue43908@roundup.psfhosted.org> |
2021-04-22 12:41:17 | vstinner | link | issue43908 messages |
2021-04-22 12:41:17 | vstinner | create | |
|