diff --git a/tests/compile/crunchytype.h b/tests/compile/crunchytype.h
new file mode 100644
index 0000000000000000000000000000000000000000..6ea0e37c0f0411ab354e7eb0c236ea9d12e2548a
--- /dev/null
+++ b/tests/compile/crunchytype.h
@@ -0,0 +1,5 @@
+
+struct CrunchyType {
+  int number;
+  PyObject* string;
+};
diff --git a/tests/compile/crunchytype.pxd b/tests/compile/crunchytype.pxd
new file mode 100644
index 0000000000000000000000000000000000000000..c03e38dad57657c2ec2118bc7bc13901b46b814b
--- /dev/null
+++ b/tests/compile/crunchytype.pxd
@@ -0,0 +1,4 @@
+cdef extern from "crunchytype.h":
+    cdef class crunchytype.Crunchy [ object CrunchyType ]:
+        cdef int number
+        cdef object string
diff --git a/tests/compile/extimportedsubtype.pyx b/tests/compile/extimportedsubtype.pyx
new file mode 100644
index 0000000000000000000000000000000000000000..dd081e0c7f9bc86f343f37f092c19c693b353f50
--- /dev/null
+++ b/tests/compile/extimportedsubtype.pyx
@@ -0,0 +1,7 @@
+from crunchytype cimport Crunchy
+
+cdef class Sub2(Crunchy):
+    cdef char character
+
+cdef class Sub1(Sub2):
+    cdef char character