Test for T808.
authorRobert Bradshaw <robertwb@gmail.com>
Wed, 17 Apr 2013 05:35:31 +0000 (22:35 -0700)
committerRobert Bradshaw <robertwb@gmail.com>
Wed, 17 Apr 2013 05:35:31 +0000 (22:35 -0700)
tests/run/tp_new.pyx

index 8b99da2..45d1a03 100644 (file)
@@ -1,3 +1,4 @@
+# ticket: 808
 
 cimport cython
 
@@ -30,6 +31,24 @@ class MyTypeSubClass(MyType):
     def __init__(self, *args, **kwargs):
         print "INIT"
 
+# See ticket T808, vtab must be set even if there is no __cinit__.
+
+cdef class Base(object):
+    pass
+
+cdef class Derived(Base):
+    cpdef int f(self):
+        return 42
+
+def test_derived_vtab():
+    """
+    >>> test_derived_vtab()
+    42
+    """
+    cdef Derived d = Derived.__new__(Derived)
+    return d.f()
+
+
 # only these can be safely optimised:
 
 @cython.test_assert_path_exists('//PythonCapiCallNode')