55` lambda ` expressions can be defined without any parameters.
66
77``` py
8- reveal_type(lambda : 1 ) # revealed: () -> @Todo(lambda return type)
8+ reveal_type(lambda : 1 ) # revealed: () -> Unknown
99
1010# error: [unresolved-reference]
11- reveal_type(lambda : a) # revealed: () -> @Todo(lambda return type)
11+ reveal_type(lambda : a) # revealed: () -> Unknown
1212```
1313
1414## With parameters
@@ -17,45 +17,45 @@ Unlike parameters in function definition, the parameters in a `lambda` expressio
1717annotated.
1818
1919``` py
20- reveal_type(lambda a : a) # revealed: (a) -> @Todo(lambda return type)
21- reveal_type(lambda a , b : a + b) # revealed: (a, b) -> @Todo(lambda return type)
20+ reveal_type(lambda a : a) # revealed: (a) -> Unknown
21+ reveal_type(lambda a , b : a + b) # revealed: (a, b) -> Unknown
2222```
2323
2424But, it can have default values:
2525
2626``` py
27- reveal_type(lambda a = 1 : a) # revealed: (a=Literal[1]) -> @Todo(lambda return type)
28- reveal_type(lambda a , b = 2 : a) # revealed: (a, b=Literal[2]) -> @Todo(lambda return type)
27+ reveal_type(lambda a = 1 : a) # revealed: (a=Literal[1]) -> Unknown
28+ reveal_type(lambda a , b = 2 : a) # revealed: (a, b=Literal[2]) -> Unknown
2929```
3030
3131And, positional-only parameters:
3232
3333``` py
34- reveal_type(lambda a , b , / , c : c) # revealed: (a, b, /, c) -> @Todo(lambda return type)
34+ reveal_type(lambda a , b , / , c : c) # revealed: (a, b, /, c) -> Unknown
3535```
3636
3737And, keyword-only parameters:
3838
3939``` py
40- reveal_type(lambda a , * , b = 2 , c : b) # revealed: (a, *, b=Literal[2], c) -> @Todo(lambda return type)
40+ reveal_type(lambda a , * , b = 2 , c : b) # revealed: (a, *, b=Literal[2], c) -> Unknown
4141```
4242
4343And, variadic parameter:
4444
4545``` py
46- reveal_type(lambda * args : args) # revealed: (*args) -> @Todo(lambda return type)
46+ reveal_type(lambda * args : args) # revealed: (*args) -> Unknown
4747```
4848
4949And, keyword-varidic parameter:
5050
5151``` py
52- reveal_type(lambda ** kwargs : kwargs) # revealed: (**kwargs) -> @Todo(lambda return type)
52+ reveal_type(lambda ** kwargs : kwargs) # revealed: (**kwargs) -> Unknown
5353```
5454
5555Mixing all of them together:
5656
5757``` py
58- # revealed: (a, b, /, c=Literal[True], *args, *, d=Literal["default"], e=Literal[5], **kwargs) -> @Todo(lambda return type)
58+ # revealed: (a, b, /, c=Literal[True], *args, *, d=Literal["default"], e=Literal[5], **kwargs) -> Unknown
5959reveal_type(lambda a , b , / , c = True , * args , d = " default" , e = 5 , ** kwargs : None )
6060```
6161
@@ -96,5 +96,5 @@ Here, a `lambda` expression is used as the default value for a parameter in anot
9696expression.
9797
9898``` py
99- reveal_type(lambda a = lambda x , y : 0 : 2 ) # revealed: (a=(x, y) -> @Todo(lambda return type)) -> @Todo(lambda return type)
99+ reveal_type(lambda a = lambda x , y : 0 : 2 ) # revealed: (a=(x, y) -> Unknown) -> Unknown
100100```
0 commit comments