@@ -189,7 +189,7 @@ pure fn from_fn<T>(n_elts: uint, op: init_op<T>) -> ~[T] {
189
189
let mut v = ~[ ] ;
190
190
unchecked { reserve( v, n_elts) ; }
191
191
let mut i: uint = 0 u;
192
- while i < n_elts unsafe { ref_set ( v, i, op ( i) ) ; i += 1 u; }
192
+ while i < n_elts unsafe { unsafe :: set ( v, i, op ( i) ) ; i += 1 u; }
193
193
unsafe { unsafe :: set_len ( v, n_elts) ; }
194
194
ret v;
195
195
}
@@ -204,8 +204,8 @@ pure fn from_elem<T: copy>(n_elts: uint, t: T) -> ~[T] {
204
204
let mut v = ~[ ] ;
205
205
unchecked { reserve( v, n_elts) }
206
206
let mut i: uint = 0 u;
207
- unsafe { // because ref_set is unsafe
208
- while i < n_elts { ref_set ( v, i, t) ; i += 1 u; }
207
+ unsafe { // because unsafe::set is unsafe
208
+ while i < n_elts { unsafe :: set ( v, i, t) ; i += 1 u; }
209
209
unsafe { unsafe :: set_len ( v, n_elts) ; }
210
210
}
211
211
ret v;
@@ -534,28 +534,12 @@ fn push_slow<T>(&v: ~[const T], +initval: T) {
534
534
unsafe { push_fast ( v, initval) }
535
535
}
536
536
537
- // Unchecked vector indexing
538
- #[ inline ( always ) ]
539
- unsafe fn get_ref < T : copy > ( v : & [ const T ] , i : uint ) -> T {
540
- as_buf ( v , |p, _len| * ptr:: offset( p, i) )
541
- }
542
-
543
- #[ inline( always) ]
544
- unsafe fn ref_set < T > ( v : & [ mut T ] , i : uint , +val : T ) {
545
- let mut box = some ( val) ;
546
- do as_mut_buf ( v) |p, _len| {
547
- let mut box2 = none;
548
- box2 <-> box;
549
- rusti:: move_val_init ( * ptr:: mut_offset ( p, i) , option:: unwrap ( box2) ) ;
550
- }
551
- }
552
-
553
537
#[ inline ( always ) ]
554
538
fn push_all < T : copy > ( & v : ~[ const T ] , rhs : & [ const T ] ) {
555
539
reserve ( v , v. len ( ) + rhs. len ( ) ) ;
556
540
557
541
for uint:: range ( 0 u , rhs. len ( ) ) |i| {
558
- push( v, unsafe { get_ref ( rhs, i) } )
542
+ push ( v, unsafe { unsafe :: get ( rhs, i) } )
559
543
}
560
544
}
561
545
@@ -1611,6 +1595,28 @@ mod unsafe {
1611
1595
f( * v)
1612
1596
}
1613
1597
1598
+ /**
1599
+ * Unchecked vector indexing.
1600
+ */
1601
+ #[ inline( always) ]
1602
+ unsafe fn get<T : copy>( v: & [ const T ] , i: uint) -> T {
1603
+ as_buf( v, |p, _len| * ptr:: offset( p, i) )
1604
+ }
1605
+
1606
+ /**
1607
+ * Unchecked vector index assignment.
1608
+ */
1609
+ #[ inline( always) ]
1610
+ unsafe fn set<T >( v: & [ mut T ] , i: uint, +val: T ) {
1611
+ let mut box = some( val) ;
1612
+ do as_mut_buf( v) |p, _len| {
1613
+ let mut box2 = none;
1614
+ box2 <-> box;
1615
+ rusti:: move_val_init( * ptr:: mut_offset( p, i) ,
1616
+ option:: unwrap( box2) ) ;
1617
+ }
1618
+ }
1619
+
1614
1620
/**
1615
1621
* Copies data from one vector to another.
1616
1622
*
0 commit comments