All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
1 # flags: --preview --minimum-version=3.10
2 # normal, short, function definition
3 def foo(a, b) -> tuple[int, float]: ...
6 # normal, short, function definition w/o return type
11 def foo(a: A, b: B) -> list[p, q]:
15 # magic trailing comma in param list
19 # magic trailing comma in nested params in param list
20 def foo(a, b: tuple[int, float,]): ...
23 # magic trailing comma in return type, no params
30 # magic trailing comma in return type, params
31 def foo(a: A, b: B) -> list[
38 # magic trailing comma in param list and in return type
49 # long function definition, param list is longer
50 def aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
52 ) -> cccccccccccccccccccccccccccccc: ...
55 # long function definition, return type is longer
56 # this should maybe split on rhs?
57 def aaaaaaaaaaaaaaaaa(bbbbbbbbbbbbbbbbbb) -> list[
58 Ccccccccccccccccccccccccccccccccccccccccccccccccccc, Dddddd
62 # long return type, no param list
64 Loooooooooooooooooooooooooooooooooooong,
65 Loooooooooooooooooooong,
70 # long function name, no param list, no return value
71 def thiiiiiiiiiiiiiiiiiis_iiiiiiiiiiiiiiiiiiiiiiiiiiiiiis_veeeeeeeeeeeeeeeeeeeeeeery_looooooong():
75 # long function name, no param list
76 def thiiiiiiiiiiiiiiiiiis_iiiiiiiiiiiiiiiiiiiiiiiiiiiiiis_veeeeeeeeeeeeeeeeeeeeeeery_looooooong() -> (
81 # long function name, no return value
82 def thiiiiiiiiiiiiiiiiiis_iiiiiiiiiiiiiiiiiiiiiiiiiiiiiis_veeeeeeeeeeeeeeeeeeeeeeery_looooooong(
87 # unskippable type hint (??)
88 def foo(a) -> list[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa]: # type: ignore
93 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
97 def foo(a, b: list[Bad],): ... # type: ignore
99 # don't lose any comments (no magic)
108 # don't lose any comments (param list magic)
117 # don't lose any comments (return type magic)
126 # don't lose any comments (both magic)
136 context: hl.GeneratorContext,
137 buffer_input: Buffer[UInt8, 2],
138 func_input: Buffer[Int32, 2],
139 float_arg: Scalar[Float32],
146 # normal, short, function definition
147 def foo(a, b) -> tuple[int, float]: ...
150 # normal, short, function definition w/o return type
155 def foo(a: A, b: B) -> list[p, q]:
159 # magic trailing comma in param list
166 # magic trailing comma in nested params in param list
176 # magic trailing comma in return type, no params
183 # magic trailing comma in return type, params
184 def foo(a: A, b: B) -> list[
191 # magic trailing comma in param list and in return type
202 # long function definition, param list is longer
203 def aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
205 ) -> cccccccccccccccccccccccccccccc: ...
208 # long function definition, return type is longer
209 # this should maybe split on rhs?
210 def aaaaaaaaaaaaaaaaa(
212 ) -> list[Ccccccccccccccccccccccccccccccccccccccccccccccccccc, Dddddd]: ...
215 # long return type, no param list
217 Loooooooooooooooooooooooooooooooooooong,
218 Loooooooooooooooooooong,
223 # long function name, no param list, no return value
224 def thiiiiiiiiiiiiiiiiiis_iiiiiiiiiiiiiiiiiiiiiiiiiiiiiis_veeeeeeeeeeeeeeeeeeeeeeery_looooooong():
228 # long function name, no param list
229 def thiiiiiiiiiiiiiiiiiis_iiiiiiiiiiiiiiiiiiiiiiiiiiiiiis_veeeeeeeeeeeeeeeeeeeeeeery_looooooong() -> (
234 # long function name, no return value
235 def thiiiiiiiiiiiiiiiiiis_iiiiiiiiiiiiiiiiiiiiiiiiiiiiiis_veeeeeeeeeeeeeeeeeeeeeeery_looooooong(
240 # unskippable type hint (??)
241 def foo(a) -> list[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa]: # type: ignore
248 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
256 ): ... # type: ignore
259 # don't lose any comments (no magic)
260 def foo(a, b) -> list[a, b]: # 1 # 2 # 3 # 4 # 5
264 # don't lose any comments (param list magic)
268 ) -> list[a, b]: # 3 # 4 # 5
272 # don't lose any comments (return type magic)
273 def foo(a, b) -> list[ # 1 # 2 # 3
280 # don't lose any comments (both magic)
293 context: hl.GeneratorContext,
294 buffer_input: Buffer[UInt8, 2],
295 func_input: Buffer[Int32, 2],
296 float_arg: Scalar[Float32],