1 2cimport cython 3 4 5def f(obj1, obj2, obj3, obj4, obj5): 6 """ 7 >>> f(1,2,3,4,5) 8 () 9 """ 10 obj1 = () 11 return obj1 12 13 14def g(obj1, obj2, obj3, obj4, obj5): 15 """ 16 >>> g(1,2,3,4,5) 17 (2,) 18 """ 19 obj1 = () 20 obj1 = (obj2,) 21 return obj1 22 23 24def h(obj1, obj2, obj3, obj4, obj5): 25 """ 26 >>> h(1,2,3,4,5) 27 (2, 3) 28 """ 29 obj1 = () 30 obj1 = (obj2,) 31 obj1 = obj2, obj3 32 return obj1 33 34 35def j(obj1, obj2, obj3, obj4, obj5): 36 """ 37 >>> j(1,2,3,4,5) 38 (2, 3, 4) 39 """ 40 obj1 = () 41 obj1 = (obj2,) 42 obj1 = obj2, obj3 43 obj1 = (obj2, obj3, obj4) 44 return obj1 45 46 47def k(obj1, obj2, obj3, obj4, obj5): 48 """ 49 >>> k(1,2,3,4,5) 50 (2, 3, 4) 51 """ 52 obj1 = () 53 obj1 = (obj2,) 54 obj1 = obj2, obj3 55 obj1 = (obj2, obj3, obj4) 56 obj1 = (obj2, obj3, obj4,) 57 return obj1 58 59 60def l(obj1, obj2, obj3, obj4, obj5): 61 """ 62 >>> l(1,2,3,4,5) 63 (17, 42, 88) 64 """ 65 obj1 = () 66 obj1 = (obj2,) 67 obj1 = obj2, obj3 68 obj1 = (obj2, obj3, obj4) 69 obj1 = (obj2, obj3, obj4,) 70 obj1 = 17, 42, 88 71 return obj1 72 73 74def tuple_none(): 75 """ 76 >>> tuple_none() # doctest: +ELLIPSIS 77 Traceback (most recent call last): 78 TypeError: ...itera... 79 """ 80 return tuple(None) 81 82 83def tuple_none_list(): 84 """ 85 >>> tuple_none_list() # doctest: +ELLIPSIS 86 Traceback (most recent call last): 87 TypeError: ...iterable... 88 """ 89 cdef list none = None 90 return tuple(none) 91 92 93@cython.test_fail_if_path_exists( 94 '//SimpleCallNode', 95 '//PythonCapiCallNode' 96) 97def tuple_of_tuple_literal(): 98 """ 99 >>> tuple_of_tuple_literal() 100 (1, 2, 3) 101 """ 102 return tuple(tuple(tuple((1,2,3)))) 103 104 105@cython.test_fail_if_path_exists( 106 '//SimpleCallNode', 107 '//PythonCapiCallNode' 108) 109def tuple_of_args_tuple(*args): 110 """ 111 >>> tuple_of_args_tuple(1,2,3) 112 (1, 2, 3) 113 """ 114 return tuple(tuple(tuple(args))) 115 116 117@cython.test_fail_if_path_exists('//SimpleCallNode//SimpleCallNode') 118def tuple_of_object(ob): 119 """ 120 >>> tuple(type(1)) 121 Traceback (most recent call last): 122 TypeError: 'type' object is not iterable 123 >>> sorted(tuple(set([1, 2, 3]))) 124 [1, 2, 3] 125 """ 126 return tuple(ob) 127 128 129@cython.test_fail_if_path_exists( 130 '//SimpleCallNode', 131 '//PythonCapiCallNode//PythonCapiCallNode' 132) 133def tuple_of_tuple_or_none(tuple x): 134 """ 135 >>> tuple_of_tuple_or_none((1,2,3)) 136 (1, 2, 3) 137 >>> tuple_of_tuple_or_none(None) # doctest: +ELLIPSIS 138 Traceback (most recent call last): 139 TypeError: ...itera... 140 """ 141 return tuple(tuple(tuple(x))) 142 143 144@cython.test_fail_if_path_exists( 145 "//ExprStatNode//TupleNode", 146 "//ExprStatNode", 147) 148def unused_literals(): 149 """ 150 >>> unused_literals() 151 """ 152 (1, 2, 3) 153 (1, 2, 3 + 4) 154 ("abc", 'def') 155 #(int(), 2, 3) 156 157 158@cython.test_assert_path_exists( 159 "//ExprStatNode", 160 "//ExprStatNode//TupleNode", 161) 162def unused_non_literal(): 163 """ 164 >>> unused_non_literal() 165 """ 166 (set(), None) 167 (range(10), None) 168