summaryrefslogtreecommitdiff
path: root/tests/errors/cpp_increment.pyx
diff options
context:
space:
mode:
Diffstat (limited to 'tests/errors/cpp_increment.pyx')
-rw-r--r--tests/errors/cpp_increment.pyx33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/errors/cpp_increment.pyx b/tests/errors/cpp_increment.pyx
new file mode 100644
index 000000000..45e978d95
--- /dev/null
+++ b/tests/errors/cpp_increment.pyx
@@ -0,0 +1,33 @@
+# mode: error
+
+cimport cython
+
+cdef extern from *:
+ cdef cppclass Foo:
+ Foo operator++()
+ Foo operator--()
+
+ cdef cppclass Bar:
+ Bar operator++(int)
+ Bar operator--(int)
+
+cdef void foo():
+ cdef Foo f
+ cdef Bar b
+ cython.operator.postincrement(f)
+ cython.operator.postincrement(b)
+ cython.operator.postdecrement(f)
+ cython.operator.postdecrement(b)
+
+ cython.operator.preincrement(f)
+ cython.operator.preincrement(b)
+ cython.operator.predecrement(f)
+ cython.operator.predecrement(b)
+
+
+_ERRORS = u"""
+17:19: No 'operator++(int)' declared for postfix '++' (operand type is 'Foo')
+19:19: No 'operator--(int)' declared for postfix '--' (operand type is 'Foo')
+23:19: No match for 'operator++' (operand type is 'Bar')
+25:19: No match for 'operator--' (operand type is 'Bar')
+"""