786
786
[case testLambdas]
787
787
def f(x: int, y: int) -> None:
788
788
s = lambda a, b: a + b
789
- return s(x, y)
789
+ t = lambda a, b: s(a, b)
790
+ return t(x, y)
790
791
791
792
[out]
792
793
def __mypyc_lambda__0_f_obj.__get__(__mypyc_self__, instance, owner):
@@ -811,23 +812,51 @@ L0:
811
812
r0 = __mypyc_self__.__mypyc_env__
812
813
r1 = a + b
813
814
return r1
815
+ def __mypyc_lambda__1_f_obj.__get__(__mypyc_self__, instance, owner):
816
+ __mypyc_self__, instance, owner, r0 :: object
817
+ r1 :: bool
818
+ r2 :: object
819
+ L0:
820
+ r0 = builtins.None :: object
821
+ r1 = instance is r0
822
+ if r1 goto L1 else goto L2 :: bool
823
+ L1:
824
+ return __mypyc_self__
825
+ L2:
826
+ r2 = method_new __mypyc_self__, instance
827
+ return r2
828
+ def __mypyc_lambda__1_f_obj.__call__(__mypyc_self__, a, b):
829
+ __mypyc_self__ :: __main__.__mypyc_lambda__1_f_obj
830
+ a, b :: object
831
+ r0 :: __main__.f_env
832
+ r1, r2 :: object
833
+ L0:
834
+ r0 = __mypyc_self__.__mypyc_env__
835
+ r1 = r0.s
836
+ r2 = py_call(r1, a, b)
837
+ return r2
814
838
def f(x, y):
815
839
x, y :: int
816
840
r0 :: __main__.f_env
817
841
r1 :: __main__.__mypyc_lambda__0_f_obj
818
- r2 :: bool
819
- s, r3, r4, r5 :: object
820
- r6 :: None
842
+ r2, r3 :: bool
843
+ r4 :: __main__.__mypyc_lambda__1_f_obj
844
+ r5 :: bool
845
+ t, r6, r7, r8 :: object
846
+ r9 :: None
821
847
L0:
822
848
r0 = f_env()
823
849
r1 = __mypyc_lambda__0_f_obj()
824
850
r1.__mypyc_env__ = r0; r2 = is_error
825
- s = r1
826
- r3 = box(int, x)
827
- r4 = box(int, y)
828
- r5 = py_call(s, r3, r4)
829
- r6 = unbox(None, r5)
830
- return r6
851
+ r0.s = r1; r3 = is_error
852
+ r4 = __mypyc_lambda__1_f_obj()
853
+ r4.__mypyc_env__ = r0; r5 = is_error
854
+ t = r4
855
+ r6 = box(int, x)
856
+ r7 = box(int, y)
857
+ r8 = py_call(t, r6, r7)
858
+ r9 = unbox(None, r8)
859
+ return r9
831
860
832
861
[case testRecursiveFunction]
833
862
from typing import Callable
0 commit comments