Cython has moved to github.

cython-devel

view tests/errors/declareafteruse_T158.pyx @ 1870:478a5cfba350

Bug 158 -- raise error if cdef variable declared after it's used.
author Kurt Smith <kwsmith1@wisc.edu>
date Tue Mar 17 00:02:46 2009 -0500 (3 years ago)
parents
children e2365a6d00b8
line source
1 def mult_decl_test():
2 print "%s" % vv
3 print "%s" % s
4 cdef str s, vv = "Test"
6 def def_test():
7 cdef int j = 10
8 i[0] = j
9 cdef int *i = NULL # pointer variables are special case
11 cdef cdef_test():
12 cdef int j = 10
13 i[0] = j
14 print "%d" % i[0]
15 cdef int *i = NULL
17 cpdef cpdef_test():
18 cdef int j = 10
19 i[0] = j
20 print "%d" % i[0]
21 cdef int *i = NULL
23 s.upper()
24 cdef str s = "Test"
26 class Foo(object):
27 def bar(self, x, y):
28 cdef unsigned long w = 20
29 z = w + t
30 cdef int t = 10
32 cdef class Foo2(object):
33 print '%s' % r # check error inside class scope
34 cdef str r
35 def bar(self, x, y):
36 cdef unsigned long w = 20
37 self.r = c'r'
38 print self.r
39 z = w + g(t)
40 cdef int t = 10
42 def g(x):
43 return x
45 cdef int d = 20
46 baz[0] = d
47 cdef int *baz
49 print var[0][0]
50 cdef unsigned long long var[100][100]
53 _ERRORS = u"""
54 4:13: cdef variable 's' declared after it's used.
55 4:16: cdef variable 'vv' declared after it's used.
56 9:14: cdef variable 'i' declared after it's used.
57 15:14: cdef variable 'i' declared after it's used.
58 21:14: cdef variable 'i' declared after it's used.
59 24:9: cdef variable 's' declared after it's used.
60 30:17: cdef variable 't' declared after it's used.
61 34:13: cdef variable 'r' declared after it's used.
62 40:17: cdef variable 't' declared after it's used.
63 47:10: cdef variable 'baz' declared after it's used.
64 50:24: cdef variable 'var' declared after it's used.
65 """