@@ -1596,8 +1596,10 @@ fn iter_structural_ty_full(@block_ctxt cx,
1596
1596
case ( ty. ty_tup( ?args) ) {
1597
1597
let int i = 0 ;
1598
1598
for ( @ty. t arg in args) {
1599
- auto elt_a = r. bcx. build. GEP ( av, vec( C_int ( 0 ) , C_int ( i) ) ) ;
1600
- auto elt_b = r. bcx. build. GEP ( bv, vec( C_int ( 0 ) , C_int ( i) ) ) ;
1599
+ r = GEP_tup_like ( r. bcx, t, av, vec( 0 , i) ) ;
1600
+ auto elt_a = r. val;
1601
+ r = GEP_tup_like ( r. bcx, t, bv, vec( 0 , i) ) ;
1602
+ auto elt_b = r. val;
1601
1603
r = f( r. bcx,
1602
1604
load_scalar_or_boxed( r. bcx, elt_a, arg) ,
1603
1605
load_scalar_or_boxed( r. bcx, elt_b, arg) ,
@@ -1608,8 +1610,10 @@ fn iter_structural_ty_full(@block_ctxt cx,
1608
1610
case ( ty. ty_rec( ?fields) ) {
1609
1611
let int i = 0 ;
1610
1612
for ( ty. field fld in fields) {
1611
- auto llfld_a = r. bcx. build. GEP ( av, vec( C_int ( 0 ) , C_int ( i) ) ) ;
1612
- auto llfld_b = r. bcx. build. GEP ( bv, vec( C_int ( 0 ) , C_int ( i) ) ) ;
1613
+ r = GEP_tup_like ( r. bcx, t, av, vec( 0 , i) ) ;
1614
+ auto llfld_a = r. val;
1615
+ r = GEP_tup_like ( r. bcx, t, bv, vec( 0 , i) ) ;
1616
+ auto llfld_b = r. val;
1613
1617
r = f( r. bcx,
1614
1618
load_scalar_or_boxed( r. bcx, llfld_a, fld. ty) ,
1615
1619
load_scalar_or_boxed( r. bcx, llfld_b, fld. ty) ,
0 commit comments