Commit 0fac7569 authored by Robert Bradshaw's avatar Robert Bradshaw

Merge branch '0.24.x'

parents a9e41d96 d804bd2d
......@@ -652,10 +652,12 @@ def create_extension_list(patterns, exclude=None, ctx=None, aliases=None, quiet=
# workaround for setuptools
if 'setuptools' in sys.modules:
Extension_setuptools = sys.modules['setuptools'].Extension
Extension_dustutils = sys.modules['setuptools.extension']._Extension
Extension_setuptools = sys.modules['setuptools'].Extension
else:
# dummy class, in case we do not have setuptools
class Extension_setuptools(Extension): pass
# dummy class, in case we do not have setuptools
Extension_dustutils = Extension
class Extension_setuptools(Extension): pass
for pattern in patterns:
if isinstance(pattern, str):
......@@ -665,7 +667,7 @@ def create_extension_list(patterns, exclude=None, ctx=None, aliases=None, quiet=
base = None
exn_type = Extension
ext_language = language
elif isinstance(pattern, (Extension, Extension_setuptools)):
elif isinstance(pattern, (Extension_dustutils, Extension_setuptools)):
for filepattern in pattern.sources:
if os.path.splitext(filepattern)[1] in ('.py', '.pyx'):
break
......
......@@ -3493,6 +3493,8 @@ class CppClassType(CType):
if self.templates == other_type.templates:
return 1
for t1, t2 in zip(self.templates, other_type.templates):
if is_optional_template_param(t1) and is_optional_template_param(t2):
break
if not t1.same_as_resolved_type(t2):
return 0
return 1
......
......@@ -119,6 +119,10 @@
#define PyUnicode_Contains(u, s) PySequence_Contains(u, s)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
#define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
#define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt)
#endif
......
......@@ -37,6 +37,16 @@ def test_vector(L):
print v.at(i)
del v
ctypedef int my_int
def test_vector_typedef(L):
"""
>>> test_vector_typedef([1, 2, 3])
[1, 2, 3]
"""
cdef vector[my_int] v = L
cdef vector[int] vv = v
return vv
def test_vector_iterator(L):
"""
>>> test_vector([11, 37, 389, 5077])
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment