File tree Expand file tree Collapse file tree 2 files changed +14
-9
lines changed
branches/snap-stage3/src/libcore Expand file tree Collapse file tree 2 files changed +14
-9
lines changed Original file line number Diff line number Diff line change 1
1
---
2
2
refs/heads/master: 2898dcc5d97da9427ac367542382b6239d9c0bbf
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
- refs/heads/snap-stage3: 3b9848b869c17ca369fc8bc7703e727eb19a211d
4
+ refs/heads/snap-stage3: dc3862bf58297b75a0e3d4dfdf1f66b56f51dd1d
5
5
refs/heads/try: 2898dcc5d97da9427ac367542382b6239d9c0bbf
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
Original file line number Diff line number Diff line change @@ -379,16 +379,21 @@ fn shift<T>(&v: [T]) -> T {
379
379
v <-> vv;
380
380
381
381
unsafe {
382
- let vv = unsafe :: to_ptr ( vv) ;
383
- let r < - * vv;
384
-
385
- for uint:: range ( 1 u , ln ) { |i|
386
- // FIXME: this isn't legal, per se...
387
- let r <- * ptr:: offset ( vv, i) ;
388
- push ( v, r) ;
382
+ let mut rr;
383
+ {
384
+ let vv = unsafe :: to_ptr ( vv) ;
385
+ let mut r < - * vv;
386
+
387
+ for uint:: range ( 1 u , ln ) { |i|
388
+ // FIXME: this isn't legal, per se...
389
+ let r <- * ptr:: offset ( vv, i) ;
390
+ push ( v, r) ;
391
+ }
392
+ rr <- r;
389
393
}
394
+ unsafe:: set_len ( vv, 0 u) ;
390
395
391
- r
396
+ rr
392
397
}
393
398
}
394
399
You can’t perform that action at this time.
0 commit comments