Skip to content

Commit 8e12f83

Browse files
committed
fix: rtypes
1 parent 33996d8 commit 8e12f83

File tree

2 files changed

+67
-84
lines changed

2 files changed

+67
-84
lines changed

mypyc/irbuild/for_helpers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1181,7 +1181,7 @@ def init(self, func: Expression, exprs: list[Expression]) -> None:
11811181
name_expr = NameExpr(argname)
11821182
name_expr.kind = LDEF
11831183
name_expr.node = Var(argname, var_type)
1184-
self.builder.add_local_reg(name_expr.node, self.builder.node_type(iterable_expr))
1184+
self.builder.add_local_reg(name_expr.node, self.builder.type_to_rtype(var_type))
11851185
self.gens.append(
11861186
make_for_loop_generator(
11871187
self.builder,

mypyc/test-data/irbuild-basic.test

Lines changed: 66 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -3570,9 +3570,8 @@ def g(a):
35703570
r3, r4 :: native_int
35713571
r5 :: bit
35723572
r6 :: object
3573-
r7 :: int
3573+
r7, _mypyc_map_arg_0 :: int
35743574
r8 :: object
3575-
_mypyc_map_arg_0 :: list
35763575
r9, r10, x, r11 :: int
35773576
r12 :: native_int
35783577
L0:
@@ -3588,9 +3587,9 @@ L1:
35883587
L2:
35893588
r6 = list_get_item_unsafe a, r3
35903589
r7 = unbox(int, r6)
3591-
r8 = box(int, r7)
3592-
_mypyc_map_arg_0 = r8
3593-
r9 = unbox(int, _mypyc_map_arg_0)
3590+
_mypyc_map_arg_0 = r7
3591+
r8 = box(int, _mypyc_map_arg_0)
3592+
r9 = unbox(int, r8)
35943593
r10 = f(r9)
35953594
x = r10
35963595
r11 = CPyTagged_Add(s, x)
@@ -3629,13 +3628,10 @@ def g(a, b):
36293628
r7 :: native_int
36303629
r8 :: bit
36313630
r9 :: object
3632-
r10 :: int
3631+
r10, _mypyc_map_arg_0 :: int
36333632
r11 :: object
3634-
_mypyc_map_arg_0 :: list
3635-
r12 :: object
3636-
r13 :: int
3637-
r14 :: object
3638-
_mypyc_map_arg_1 :: list
3633+
r12, _mypyc_map_arg_1 :: int
3634+
r13, r14 :: object
36393635
r15, r16, r17, x, r18 :: int
36403636
r19, r20 :: native_int
36413637
L0:
@@ -3656,14 +3652,14 @@ L2:
36563652
L3:
36573653
r9 = list_get_item_unsafe a, r3
36583654
r10 = unbox(int, r9)
3659-
r11 = box(int, r10)
3660-
_mypyc_map_arg_0 = r11
3661-
r12 = list_get_item_unsafe b, r4
3662-
r13 = unbox(int, r12)
3663-
r14 = box(int, r13)
3664-
_mypyc_map_arg_1 = r14
3665-
r15 = unbox(int, _mypyc_map_arg_0)
3666-
r16 = unbox(int, _mypyc_map_arg_1)
3655+
_mypyc_map_arg_0 = r10
3656+
r11 = list_get_item_unsafe b, r4
3657+
r12 = unbox(int, r11)
3658+
_mypyc_map_arg_1 = r12
3659+
r13 = box(int, _mypyc_map_arg_0)
3660+
r14 = box(int, _mypyc_map_arg_1)
3661+
r15 = unbox(int, r13)
3662+
r16 = unbox(int, r14)
36673663
r17 = f(r15, r16)
36683664
x = r17
36693665
r18 = CPyTagged_Add(s, x)
@@ -3821,17 +3817,12 @@ def g(a, b, c):
38213817
r10 :: native_int
38223818
r11 :: bit
38233819
r12 :: object
3824-
r13 :: int
3820+
r13, _mypyc_map_arg_0 :: int
38253821
r14 :: object
3826-
_mypyc_map_arg_0 :: list
3827-
r15 :: object
3828-
r16 :: int
3829-
r17 :: object
3830-
_mypyc_map_arg_1 :: list
3831-
r18 :: object
3832-
r19 :: int
3833-
r20 :: object
3834-
_mypyc_map_arg_2 :: list
3822+
r15, _mypyc_map_arg_1 :: int
3823+
r16 :: object
3824+
r17, _mypyc_map_arg_2 :: int
3825+
r18, r19, r20 :: object
38353826
r21, r22, r23, r24, x, r25 :: int
38363827
r26, r27, r28 :: native_int
38373828
L0:
@@ -3857,19 +3848,19 @@ L3:
38573848
L4:
38583849
r12 = list_get_item_unsafe a, r3
38593850
r13 = unbox(int, r12)
3860-
r14 = box(int, r13)
3861-
_mypyc_map_arg_0 = r14
3862-
r15 = list_get_item_unsafe b, r4
3863-
r16 = unbox(int, r15)
3864-
r17 = box(int, r16)
3865-
_mypyc_map_arg_1 = r17
3866-
r18 = list_get_item_unsafe c, r5
3867-
r19 = unbox(int, r18)
3868-
r20 = box(int, r19)
3869-
_mypyc_map_arg_2 = r20
3870-
r21 = unbox(int, _mypyc_map_arg_0)
3871-
r22 = unbox(int, _mypyc_map_arg_1)
3872-
r23 = unbox(int, _mypyc_map_arg_2)
3851+
_mypyc_map_arg_0 = r13
3852+
r14 = list_get_item_unsafe b, r4
3853+
r15 = unbox(int, r14)
3854+
_mypyc_map_arg_1 = r15
3855+
r16 = list_get_item_unsafe c, r5
3856+
r17 = unbox(int, r16)
3857+
_mypyc_map_arg_2 = r17
3858+
r18 = box(int, _mypyc_map_arg_0)
3859+
r19 = box(int, _mypyc_map_arg_1)
3860+
r20 = box(int, _mypyc_map_arg_2)
3861+
r21 = unbox(int, r18)
3862+
r22 = unbox(int, r19)
3863+
r23 = unbox(int, r20)
38733864
r24 = f(r21, r22, r23)
38743865
x = r24
38753866
r25 = CPyTagged_Add(s, x)
@@ -3909,10 +3900,9 @@ def g(a):
39093900
r3 :: list
39103901
r4, r5 :: native_int
39113902
r6 :: bit
3912-
r7 :: object
3913-
r8, _mypyc_map_arg_0 :: list
3914-
r9, r10, x, r11 :: int
3915-
r12 :: native_int
3903+
r7, _mypyc_map_arg_0 :: object
3904+
r8, r9, x, r10 :: int
3905+
r11 :: native_int
39163906
L0:
39173907
s = 0
39183908
r0 = __main__.globals :: static
@@ -3926,16 +3916,15 @@ L1:
39263916
if r6 goto L2 else goto L4 :: bool
39273917
L2:
39283918
r7 = list_get_item_unsafe r3, r4
3929-
r8 = cast(list, r7)
3930-
_mypyc_map_arg_0 = r8
3931-
r9 = unbox(int, _mypyc_map_arg_0)
3932-
r10 = f(r9)
3933-
x = r10
3934-
r11 = CPyTagged_Add(s, x)
3935-
s = r11
3919+
_mypyc_map_arg_0 = r7
3920+
r8 = unbox(int, _mypyc_map_arg_0)
3921+
r9 = f(r8)
3922+
x = r9
3923+
r10 = CPyTagged_Add(s, x)
3924+
s = r10
39363925
L3:
3937-
r12 = r4 + 1
3938-
r4 = r12
3926+
r11 = r4 + 1
3927+
r4 = r11
39393928
goto L1
39403929
L4:
39413930
L5:
@@ -3967,13 +3956,10 @@ def g(a, b):
39673956
r7 :: native_int
39683957
r8 :: bit
39693958
r9 :: object
3970-
r10 :: int
3959+
r10, _mypyc_map_arg_0 :: int
39713960
r11 :: object
3972-
_mypyc_map_arg_0 :: list
3973-
r12 :: object
3974-
r13 :: int
3975-
r14 :: object
3976-
_mypyc_map_arg_1 :: list
3961+
r12, _mypyc_map_arg_1 :: int
3962+
r13, r14 :: object
39773963
r15, r16 :: int
39783964
r17 :: tuple[int, int]
39793965
r18, x, r19, y, r20, r21 :: int
@@ -3996,14 +3982,14 @@ L2:
39963982
L3:
39973983
r9 = list_get_item_unsafe a, r3
39983984
r10 = unbox(int, r9)
3999-
r11 = box(int, r10)
4000-
_mypyc_map_arg_0 = r11
4001-
r12 = list_get_item_unsafe b, r4
4002-
r13 = unbox(int, r12)
4003-
r14 = box(int, r13)
4004-
_mypyc_map_arg_1 = r14
4005-
r15 = unbox(int, _mypyc_map_arg_0)
4006-
r16 = unbox(int, _mypyc_map_arg_1)
3985+
_mypyc_map_arg_0 = r10
3986+
r11 = list_get_item_unsafe b, r4
3987+
r12 = unbox(int, r11)
3988+
_mypyc_map_arg_1 = r12
3989+
r13 = box(int, _mypyc_map_arg_0)
3990+
r14 = box(int, _mypyc_map_arg_1)
3991+
r15 = unbox(int, r13)
3992+
r16 = unbox(int, r14)
40073993
r17 = f(r15, r16)
40083994
r18 = r17[0]
40093995
x = r18
@@ -4043,13 +4029,10 @@ def g(a, b):
40434029
r8 :: native_int
40444030
r9 :: bit
40454031
r10 :: object
4046-
r11 :: int
4032+
r11, _mypyc_map_arg_0 :: int
40474033
r12 :: object
4048-
_mypyc_map_arg_0 :: list
4049-
r13 :: object
4050-
r14 :: int
4051-
r15 :: object
4052-
_mypyc_map_arg_1 :: list
4034+
r13, _mypyc_map_arg_1 :: int
4035+
r14, r15 :: object
40534036
r16, r17, r18, x :: int
40544037
r19 :: object
40554038
r20 :: i32
@@ -4073,14 +4056,14 @@ L2:
40734056
L3:
40744057
r10 = list_get_item_unsafe a, r4
40754058
r11 = unbox(int, r10)
4076-
r12 = box(int, r11)
4077-
_mypyc_map_arg_0 = r12
4078-
r13 = list_get_item_unsafe b, r5
4079-
r14 = unbox(int, r13)
4080-
r15 = box(int, r14)
4081-
_mypyc_map_arg_1 = r15
4082-
r16 = unbox(int, _mypyc_map_arg_0)
4083-
r17 = unbox(int, _mypyc_map_arg_1)
4059+
_mypyc_map_arg_0 = r11
4060+
r12 = list_get_item_unsafe b, r5
4061+
r13 = unbox(int, r12)
4062+
_mypyc_map_arg_1 = r13
4063+
r14 = box(int, _mypyc_map_arg_0)
4064+
r15 = box(int, _mypyc_map_arg_1)
4065+
r16 = unbox(int, r14)
4066+
r17 = unbox(int, r15)
40844067
r18 = f(r16, r17)
40854068
x = r18
40864069
r19 = box(int, x)

0 commit comments

Comments
 (0)