Message282852
| Author | thansen |
|---|---|
| Recipients | Ringding, Trundle, aronacher, benjamin.peterson, gvanrossum, pitrou, prologic, python-dev, sebastinas, serhiy.storchaka, thansen, vstinner |
| Date | 2016-12-10.13:51:17 |
| SpamBayes Score | -1.0 |
| Marked as misclassified | Yes |
| Message-id | <1481377877.94.0.456760902136.issue5322@psf.upfronthosting.co.za> |
| In-reply-to |
| Content | |
|---|---|
This change breaks backward compatibility in Python 2.7. This is the example that also broke in #25731. In that case the change was reverted. See https://bugs.python.org/issue25731#msg262922 $ cat foo.pxd cdef class B: cdef object b $ cat foo.pyx cdef class A: pass cdef class B: def __init__(self, b): self.b = b $ cat bar.py from foo import A, B class C(A, B): def __init__(self): B.__init__(self, 1) C() $ cython foo.pyx && gcc -I/usr/include/python2.7 -Wall -shared -fPIC -o foo.so foo.c $ python -c 'import bar' Traceback (most recent call last): File "<string>", line 1, in <module> File "bar.py", line 7, in <module> C() TypeError: foo.A.__new__(C) is not safe, use foo.B.__new__() |
|
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2016-12-10 13:51:18 | thansen | set | recipients: + thansen, gvanrossum, pitrou, vstinner, sebastinas, benjamin.peterson, aronacher, prologic, Trundle, Ringding, python-dev, serhiy.storchaka |
| 2016-12-10 13:51:17 | thansen | set | messageid: <1481377877.94.0.456760902136.issue5322@psf.upfronthosting.co.za> |
| 2016-12-10 13:51:17 | thansen | link | issue5322 messages |
| 2016-12-10 13:51:17 | thansen | create | |