Amaury Forgeot d'Arc <[email protected]> added the comment:
Yes, test passes, but I think it does not do the correct thing:
best_base is numpypy.signedinteger, but the layout should be PyIntObject
(Because PyInt_Check() is True; maybe this should be part of the test as well)
I think the code should call check_and_find_best_base() instead, otherwise you
completely bypass the check about "instance layout
conflicts".
...but this does not work either. And it's not a cpyext issue, but a numpypy
one.
The following code works on cpython, but fails on pypy:
type('I', np.int64.__bases__, {})
It fails for two reasons:
- "type 'signedinteger' is not an acceptable base class"
- and if you try to bypass this check, you will get the "instance layout
conflict" again.
We really have an issue with multiple inheritance of W_Objects.
________________________________________
PyPy bug tracker <[email protected]>
<https://bugs.pypy.org/issue1621>
________________________________________
_______________________________________________
pypy-issue mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-issue