@@ -700,7 +700,7 @@ pub impl RegionVarBindings {
700
700
match undo_item {
701
701
Snapshot => { }
702
702
AddVar ( vid) => {
703
- fail_unless ! ( self . var_spans. len( ) == * vid + 1 ) ;
703
+ fail_unless ! ( self . var_spans. len( ) == vid. to_uint ( ) + 1 ) ;
704
704
self . var_spans . pop ( ) ;
705
705
}
706
706
AddConstraint ( ref constraint) => {
@@ -720,7 +720,7 @@ pub impl RegionVarBindings {
720
720
fn new_region_var ( & mut self , span : span ) -> RegionVid {
721
721
let id = self . num_vars ( ) ;
722
722
self . var_spans . push ( span) ;
723
- let vid = RegionVid ( id ) ;
723
+ let vid = RegionVid { id : id } ;
724
724
if self . in_snapshot ( ) {
725
725
self . undo_log . push ( AddVar ( vid) ) ;
726
726
}
@@ -863,15 +863,15 @@ pub impl RegionVarBindings {
863
863
}
864
864
865
865
fn resolve_var ( & mut self , rid : RegionVid ) -> ty:: Region {
866
- debug ! ( "RegionVarBindings: resolve_var(%?=%u)" , rid, * rid) ;
866
+ debug ! ( "RegionVarBindings: resolve_var(%?=%u)" , rid, rid. to_uint ( ) ) ;
867
867
if self . values . is_empty ( ) {
868
868
self . tcx . sess . span_bug (
869
- self . var_spans [ * rid] ,
869
+ self . var_spans [ rid. to_uint ( ) ] ,
870
870
fmt ! ( "Attempt to resolve region variable before values have \
871
871
been computed!") ) ;
872
872
}
873
873
874
- let v = self . values . with_ref ( |values| values[ * rid] ) ;
874
+ let v = self . values . with_ref ( |values| values[ rid. to_uint ( ) ] ) ;
875
875
match v {
876
876
Value ( r) => r,
877
877
@@ -886,13 +886,13 @@ pub impl RegionVarBindings {
886
886
// should ultimately have some bounds.
887
887
888
888
self . tcx . sess . span_err (
889
- self . var_spans [ * rid] ,
890
- fmt ! ( "Unconstrained region variable #%u" , * rid) ) ;
889
+ self . var_spans [ rid. to_uint ( ) ] ,
890
+ fmt ! ( "Unconstrained region variable #%u" , rid. to_uint ( ) ) ) ;
891
891
892
892
// Touch of a hack: to suppress duplicate messages,
893
893
// replace the NoValue entry with ErrorValue.
894
894
let mut values = self . values . take ( ) ;
895
- values[ * rid] = ErrorValue ;
895
+ values[ rid. to_uint ( ) ] = ErrorValue ;
896
896
self . values . put_back ( values) ;
897
897
re_static
898
898
}
@@ -1049,7 +1049,7 @@ priv impl RegionVarBindings {
1049
1049
1050
1050
( re_infer( ReVar ( v_id) ) , _) | ( _, re_infer( ReVar ( v_id) ) ) => {
1051
1051
self . tcx . sess . span_bug (
1052
- self . var_spans [ * v_id] ,
1052
+ self . var_spans [ v_id. to_uint ( ) ] ,
1053
1053
fmt ! ( "lub_concrete_regions invoked with \
1054
1054
non-concrete regions: %?, %?", a, b) ) ;
1055
1055
}
@@ -1111,7 +1111,7 @@ priv impl RegionVarBindings {
1111
1111
( re_infer( ReVar ( v_id) ) , _) |
1112
1112
( _, re_infer( ReVar ( v_id) ) ) => {
1113
1113
self . tcx . sess . span_bug (
1114
- self . var_spans [ * v_id] ,
1114
+ self . var_spans [ v_id. to_uint ( ) ] ,
1115
1115
fmt ! ( "glb_concrete_regions invoked with \
1116
1116
non-concrete regions: %?, %?", a, b) ) ;
1117
1117
}
@@ -1275,8 +1275,8 @@ pub impl RegionVarBindings {
1275
1275
edge_idx : uint ) {
1276
1276
let edge_dir = edge_dir as uint ;
1277
1277
graph. edges [ edge_idx] . next_edge [ edge_dir] =
1278
- graph. nodes [ * node_id] . head_edge [ edge_dir] ;
1279
- graph. nodes [ * node_id] . head_edge [ edge_dir] =
1278
+ graph. nodes [ node_id. to_uint ( ) ] . head_edge [ edge_dir] ;
1279
+ graph. nodes [ node_id. to_uint ( ) ] . head_edge [ edge_dir] =
1280
1280
edge_idx;
1281
1281
}
1282
1282
}
@@ -1285,14 +1285,14 @@ pub impl RegionVarBindings {
1285
1285
do iterate_until_fixed_point ( ~"Expansion ", graph) |nodes, edge| {
1286
1286
match edge. constraint {
1287
1287
ConstrainRegSubVar ( a_region, b_vid) => {
1288
- let b_node = & mut nodes[ * b_vid] ;
1288
+ let b_node = & mut nodes[ b_vid. to_uint ( ) ] ;
1289
1289
self . expand_node ( a_region, b_vid, b_node)
1290
1290
}
1291
1291
ConstrainVarSubVar ( a_vid, b_vid) => {
1292
- match nodes[ * a_vid] . value {
1292
+ match nodes[ a_vid. to_uint ( ) ] . value {
1293
1293
NoValue | ErrorValue => false ,
1294
1294
Value ( a_region) => {
1295
- let b_node = & mut nodes[ * b_vid] ;
1295
+ let b_node = & mut nodes[ b_vid. to_uint ( ) ] ;
1296
1296
self . expand_node ( a_region, b_vid, b_node)
1297
1297
}
1298
1298
}
@@ -1349,16 +1349,16 @@ pub impl RegionVarBindings {
1349
1349
false
1350
1350
}
1351
1351
ConstrainVarSubVar ( a_vid, b_vid) => {
1352
- match nodes[ * b_vid] . value {
1352
+ match nodes[ b_vid. to_uint ( ) ] . value {
1353
1353
NoValue | ErrorValue => false ,
1354
1354
Value ( b_region) => {
1355
- let a_node = & mut nodes[ * a_vid] ;
1355
+ let a_node = & mut nodes[ a_vid. to_uint ( ) ] ;
1356
1356
self . contract_node ( a_vid, a_node, b_region)
1357
1357
}
1358
1358
}
1359
1359
}
1360
1360
ConstrainVarSubReg ( a_vid, b_region) => {
1361
- let a_node = & mut nodes[ * a_vid] ;
1361
+ let a_node = & mut nodes[ a_vid. to_uint ( ) ] ;
1362
1362
self . contract_node ( a_vid, a_node, b_region)
1363
1363
}
1364
1364
}
@@ -1474,7 +1474,7 @@ pub impl RegionVarBindings {
1474
1474
that is not used is not a problem, so if this rule
1475
1475
starts to create problems we'll have to revisit
1476
1476
this portion of the code and think hard about it. =) */
1477
- let node_vid = RegionVid ( idx) ;
1477
+ let node_vid = RegionVid { id : idx } ;
1478
1478
match node. classification {
1479
1479
Expanding => {
1480
1480
self . report_error_for_expanding_node (
@@ -1525,7 +1525,7 @@ pub impl RegionVarBindings {
1525
1525
}
1526
1526
1527
1527
self . tcx . sess . span_err (
1528
- self . var_spans [ * node_idx] ,
1528
+ self . var_spans [ node_idx. to_uint ( ) ] ,
1529
1529
fmt ! ( "cannot infer an appropriate lifetime \
1530
1530
due to conflicting requirements") ) ;
1531
1531
@@ -1578,7 +1578,7 @@ pub impl RegionVarBindings {
1578
1578
}
1579
1579
1580
1580
self . tcx . sess . span_err (
1581
- self . var_spans [ * node_idx] ,
1581
+ self . var_spans [ node_idx. to_uint ( ) ] ,
1582
1582
fmt ! ( "cannot infer an appropriate lifetime \
1583
1583
due to conflicting requirements") ) ;
1584
1584
@@ -1616,7 +1616,7 @@ pub impl RegionVarBindings {
1616
1616
-> ~[ SpannedRegion ] {
1617
1617
let set = HashMap ( ) ;
1618
1618
let mut stack = ~[ orig_node_idx] ;
1619
- set. insert ( * orig_node_idx, ( ) ) ;
1619
+ set. insert ( orig_node_idx. to_uint ( ) , ( ) ) ;
1620
1620
let mut result = ~[ ] ;
1621
1621
while !vec:: is_empty ( stack) {
1622
1622
let node_idx = stack. pop ( ) ;
@@ -1627,7 +1627,7 @@ pub impl RegionVarBindings {
1627
1627
Incoming => from_vid,
1628
1628
Outgoing => to_vid
1629
1629
} ;
1630
- if set. insert ( * vid, ( ) ) {
1630
+ if set. insert ( vid. to_uint ( ) , ( ) ) {
1631
1631
stack. push ( vid) ;
1632
1632
}
1633
1633
}
@@ -1658,7 +1658,8 @@ pub impl RegionVarBindings {
1658
1658
node_idx : RegionVid ,
1659
1659
dir : Direction ,
1660
1660
op : & fn ( edge : & GraphEdge ) -> bool ) {
1661
- let mut edge_idx = graph. nodes [ * node_idx] . head_edge [ dir as uint ] ;
1661
+ let mut edge_idx =
1662
+ graph. nodes [ node_idx. to_uint ( ) ] . head_edge [ dir as uint ] ;
1662
1663
while edge_idx != uint:: max_value {
1663
1664
let edge_ptr = & graph. edges [ edge_idx] ;
1664
1665
if !op ( edge_ptr) {
0 commit comments