@@ -3,7 +3,6 @@ import std::int;
3
3
import std:: ivec;
4
4
import std:: str;
5
5
import std:: uint;
6
- import std:: vec;
7
6
import std:: box;
8
7
import std:: ufindivec;
9
8
import std:: map;
@@ -1039,24 +1038,16 @@ fn type_has_pointers(&ctxt cx, &t ty) -> bool {
1039
1038
case ( ty_tag( ?did, ?tps) ) {
1040
1039
auto variants = tag_variants( cx, did) ;
1041
1040
for ( variant_info variant in variants) {
1042
- // TODO: Remove this vec->ivec conversion.
1043
- auto args = ~[ ] ;
1044
- for ( ty:: t arg in variant. args) { args += ~[ arg] ; }
1041
+ auto tup_ty = mk_imm_tup( cx, variant. args) ;
1045
1042
1046
- auto tup_ty = mk_imm_tup( cx, args) ;
1047
1043
// Perform any type parameter substitutions.
1048
-
1049
1044
tup_ty = substitute_type_params( cx, tps, tup_ty) ;
1050
1045
if ( type_has_pointers( cx, tup_ty) ) { result = true; }
1051
1046
}
1052
1047
}
1053
1048
case ( ty_res( ?did, ?inner, ?tps) ) {
1054
- // FIXME: Remove this vec->ivec conversion.
1055
- auto tps_ivec = ~[ ] ;
1056
- for ( ty:: t tp in tps) { tps_ivec += ~[ tp] ; }
1057
-
1058
- result = type_has_pointers
1059
- ( cx, substitute_type_params( cx, tps_ivec, inner) ) ;
1049
+ result = type_has_pointers( cx,
1050
+ substitute_type_params( cx, tps, inner) ) ;
1060
1051
}
1061
1052
case ( _) { result = true; }
1062
1053
}
@@ -1221,11 +1212,7 @@ fn type_owns_heap_mem(&ctxt cx, &t ty) -> bool {
1221
1212
case ( ty_tag( ?did, ?tps) ) {
1222
1213
auto variants = tag_variants( cx, did) ;
1223
1214
for ( variant_info variant in variants) {
1224
- // TODO: Remove this vec->ivec conversion.
1225
- auto args = ~[ ] ;
1226
- for ( ty:: t arg in variant. args) { args += ~[ arg] ; }
1227
-
1228
- auto tup_ty = mk_imm_tup( cx, args) ;
1215
+ auto tup_ty = mk_imm_tup( cx, variant. args) ;
1229
1216
1230
1217
// Perform any type parameter substitutions.
1231
1218
tup_ty = substitute_type_params( cx, tps, tup_ty) ;
@@ -1243,12 +1230,8 @@ fn type_owns_heap_mem(&ctxt cx, &t ty) -> bool {
1243
1230
}
1244
1231
}
1245
1232
case ( ty_res( _, ?inner, ?tps) ) {
1246
- // FIXME: Remove this vec->ivec conversion.
1247
- auto tps_ivec = ~[ ] ;
1248
- for ( ty:: t tp in tps) { tps_ivec += ~[ tp] ; }
1249
-
1250
- result = type_owns_heap_mem
1251
- ( cx, substitute_type_params( cx, tps_ivec, inner) ) ;
1233
+ result = type_owns_heap_mem( cx,
1234
+ substitute_type_params( cx, tps, inner) ) ;
1252
1235
}
1253
1236
1254
1237
case ( ty_ptr( _) ) { result = false; }
@@ -1279,11 +1262,7 @@ fn type_autoderef(&ctxt cx, &ty::t t) -> ty::t {
1279
1262
alt ( struct ( cx, t1) ) {
1280
1263
case ( ty:: ty_box( ?mt) ) { t1 = mt. ty; }
1281
1264
case ( ty:: ty_res( _, ?inner, ?tps) ) {
1282
- // FIXME: Remove this vec->ivec conversion.
1283
- auto tps_ivec = ~[ ] ;
1284
- for ( ty:: t tp in tps) { tps_ivec += ~[ tp] ; }
1285
-
1286
- t1 = substitute_type_params( cx, tps_ivec, inner) ;
1265
+ t1 = substitute_type_params( cx, tps, inner) ;
1287
1266
}
1288
1267
case ( ty:: ty_tag( ?did, ?tps) ) {
1289
1268
auto variants = tag_variants( cx, did) ;
@@ -1763,13 +1742,7 @@ fn ty_param_substs_opt_and_ty_to_monotype(&ctxt cx,
1763
1742
t {
1764
1743
alt ( tpot. _0) {
1765
1744
case ( none) { ret tpot. _1; }
1766
- case ( some( ?tps) ) {
1767
- // FIXME: Remove this vec->ivec conversion.
1768
- auto tps_ivec = ~[ ] ;
1769
- for ( ty:: t tp in tps) { tps_ivec += ~[ tp] ; }
1770
-
1771
- ret substitute_type_params( cx, tps_ivec, tpot. _1) ;
1772
- }
1745
+ case ( some( ?tps) ) { ret substitute_type_params( cx, tps, tpot. _1) ; }
1773
1746
}
1774
1747
}
1775
1748
0 commit comments