Le 2018-01-31 à 05:21, Ned Batchelder a écrit :
On 1/30/18 3:58 PM, Etienne Robillard wrote:
Hi Ned,
Le 2018-01-30 à 15:14, Ned Batchelder a écrit :
I'm curious what you had to change for PyPy? (Unless it's a Py2/Py3
thing as Chris mentions.)
Please take a look at the changesets:
https://bitbucket.org/tkadm30/libschevo/commits/745d1aeab5c6ee0d336790cf13d16f327e10c2f8
https://bitbucket.org/tkadm30/libdurus/commits/875636e9b6caa840fd50ca87d69217d87fc06f43
In short, it seems PyPy automagically adds a __weakref__ attribute to
__slots__, causing the CPython interpreter to raise a TypeError...
PyPy and CPython are separate implementations, that never mix: you run
your code in one, or in the other. How can PyPy do something at
runtime (add a __weakref__ attribute to __slots__) that can cause
CPython to do something at runtime (raise a TypeError)?
Sorry Ned for the confusion. This is strictly a PyPy issue. CPython does
not raise a TypeError.
A small demonstration case would be very helpful for figuring out what
is going on.
Yes....
The problem is with the following code on PyPy 5.9:
class MyClass(object):
__slots__ = ['__weakref__',]
--Ned.
--
Etienne Robillard
tkad...@yandex.com
https://www.isotopesoftware.ca/
--
https://mail.python.org/mailman/listinfo/python-list