
--------- Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com> Co-authored-by: hauntsaninja <hauntsaninja@gmail.com> Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
308 lines
3.8 KiB
Python
308 lines
3.8 KiB
Python
# flags: --minimum-version=3.12
|
|
def plain[T, B](a: T, b: T) -> T:
|
|
return a
|
|
|
|
def arg_magic[T, B](a: T, b: T,) -> T:
|
|
return a
|
|
|
|
def type_param_magic[T, B,](a: T, b: T) -> T:
|
|
return a
|
|
|
|
def both_magic[T, B,](a: T, b: T,) -> T:
|
|
return a
|
|
|
|
|
|
def plain_multiline[
|
|
T,
|
|
B
|
|
](
|
|
a: T,
|
|
b: T
|
|
) -> T:
|
|
return a
|
|
|
|
def arg_magic_multiline[
|
|
T,
|
|
B
|
|
](
|
|
a: T,
|
|
b: T,
|
|
) -> T:
|
|
return a
|
|
|
|
def type_param_magic_multiline[
|
|
T,
|
|
B,
|
|
](
|
|
a: T,
|
|
b: T
|
|
) -> T:
|
|
return a
|
|
|
|
def both_magic_multiline[
|
|
T,
|
|
B,
|
|
](
|
|
a: T,
|
|
b: T,
|
|
) -> T:
|
|
return a
|
|
|
|
|
|
def plain_mixed1[
|
|
T,
|
|
B
|
|
](a: T, b: T) -> T:
|
|
return a
|
|
|
|
def plain_mixed2[T, B](
|
|
a: T,
|
|
b: T
|
|
) -> T:
|
|
return a
|
|
|
|
def arg_magic_mixed1[
|
|
T,
|
|
B
|
|
](a: T, b: T,) -> T:
|
|
return a
|
|
|
|
def arg_magic_mixed2[T, B](
|
|
a: T,
|
|
b: T,
|
|
) -> T:
|
|
return a
|
|
|
|
def type_param_magic_mixed1[
|
|
T,
|
|
B,
|
|
](a: T, b: T) -> T:
|
|
return a
|
|
|
|
def type_param_magic_mixed2[T, B,](
|
|
a: T,
|
|
b: T
|
|
) -> T:
|
|
return a
|
|
|
|
def both_magic_mixed1[
|
|
T,
|
|
B,
|
|
](a: T, b: T,) -> T:
|
|
return a
|
|
|
|
def both_magic_mixed2[T, B,](
|
|
a: T,
|
|
b: T,
|
|
) -> T:
|
|
return a
|
|
|
|
def something_something_function[
|
|
T: Model
|
|
](param: list[int], other_param: type[T], *, some_other_param: bool = True) -> QuerySet[
|
|
T
|
|
]:
|
|
pass
|
|
|
|
|
|
def func[A_LOT_OF_GENERIC_TYPES: AreBeingDefinedHere, LIKE_THIS, AND_THIS, ANOTHER_ONE, AND_YET_ANOTHER_ONE: ThisOneHasTyping](a: T, b: T, c: T, d: T, e: T, f: T, g: T, h: T, i: T, j: T, k: T, l: T, m: T, n: T, o: T, p: T) -> T:
|
|
return a
|
|
|
|
|
|
def with_random_comments[
|
|
Z
|
|
# bye
|
|
]():
|
|
return a
|
|
|
|
|
|
def func[
|
|
T, # comment
|
|
U # comment
|
|
,
|
|
Z: # comment
|
|
int
|
|
](): pass
|
|
|
|
|
|
def func[
|
|
T, # comment but it's long so it doesn't just move to the end of the line
|
|
U # comment comment comm comm ent ent
|
|
,
|
|
Z: # comment ent ent comm comm comment
|
|
int
|
|
](): pass
|
|
|
|
|
|
# output
|
|
def plain[T, B](a: T, b: T) -> T:
|
|
return a
|
|
|
|
|
|
def arg_magic[T, B](
|
|
a: T,
|
|
b: T,
|
|
) -> T:
|
|
return a
|
|
|
|
|
|
def type_param_magic[
|
|
T,
|
|
B,
|
|
](
|
|
a: T, b: T
|
|
) -> T:
|
|
return a
|
|
|
|
|
|
def both_magic[
|
|
T,
|
|
B,
|
|
](
|
|
a: T,
|
|
b: T,
|
|
) -> T:
|
|
return a
|
|
|
|
|
|
def plain_multiline[T, B](a: T, b: T) -> T:
|
|
return a
|
|
|
|
|
|
def arg_magic_multiline[T, B](
|
|
a: T,
|
|
b: T,
|
|
) -> T:
|
|
return a
|
|
|
|
|
|
def type_param_magic_multiline[
|
|
T,
|
|
B,
|
|
](
|
|
a: T, b: T
|
|
) -> T:
|
|
return a
|
|
|
|
|
|
def both_magic_multiline[
|
|
T,
|
|
B,
|
|
](
|
|
a: T,
|
|
b: T,
|
|
) -> T:
|
|
return a
|
|
|
|
|
|
def plain_mixed1[T, B](a: T, b: T) -> T:
|
|
return a
|
|
|
|
|
|
def plain_mixed2[T, B](a: T, b: T) -> T:
|
|
return a
|
|
|
|
|
|
def arg_magic_mixed1[T, B](
|
|
a: T,
|
|
b: T,
|
|
) -> T:
|
|
return a
|
|
|
|
|
|
def arg_magic_mixed2[T, B](
|
|
a: T,
|
|
b: T,
|
|
) -> T:
|
|
return a
|
|
|
|
|
|
def type_param_magic_mixed1[
|
|
T,
|
|
B,
|
|
](
|
|
a: T, b: T
|
|
) -> T:
|
|
return a
|
|
|
|
|
|
def type_param_magic_mixed2[
|
|
T,
|
|
B,
|
|
](
|
|
a: T, b: T
|
|
) -> T:
|
|
return a
|
|
|
|
|
|
def both_magic_mixed1[
|
|
T,
|
|
B,
|
|
](
|
|
a: T,
|
|
b: T,
|
|
) -> T:
|
|
return a
|
|
|
|
|
|
def both_magic_mixed2[
|
|
T,
|
|
B,
|
|
](
|
|
a: T,
|
|
b: T,
|
|
) -> T:
|
|
return a
|
|
|
|
|
|
def something_something_function[T: Model](
|
|
param: list[int], other_param: type[T], *, some_other_param: bool = True
|
|
) -> QuerySet[T]:
|
|
pass
|
|
|
|
|
|
def func[
|
|
A_LOT_OF_GENERIC_TYPES: AreBeingDefinedHere,
|
|
LIKE_THIS,
|
|
AND_THIS,
|
|
ANOTHER_ONE,
|
|
AND_YET_ANOTHER_ONE: ThisOneHasTyping,
|
|
](
|
|
a: T,
|
|
b: T,
|
|
c: T,
|
|
d: T,
|
|
e: T,
|
|
f: T,
|
|
g: T,
|
|
h: T,
|
|
i: T,
|
|
j: T,
|
|
k: T,
|
|
l: T,
|
|
m: T,
|
|
n: T,
|
|
o: T,
|
|
p: T,
|
|
) -> T:
|
|
return a
|
|
|
|
|
|
def with_random_comments[
|
|
Z
|
|
# bye
|
|
]():
|
|
return a
|
|
|
|
|
|
def func[T, U, Z: int](): # comment # comment # comment
|
|
pass
|
|
|
|
|
|
def func[
|
|
T, # comment but it's long so it doesn't just move to the end of the line
|
|
U, # comment comment comm comm ent ent
|
|
Z: int, # comment ent ent comm comm comment
|
|
]():
|
|
pass
|