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

Reply via email to