We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 3b9848b commit dc3862bCopy full SHA for dc3862b
src/libcore/vec.rs
@@ -379,16 +379,21 @@ fn shift<T>(&v: [T]) -> T {
379
v <-> vv;
380
381
unsafe {
382
- let vv = unsafe::to_ptr(vv);
383
- let r <- *vv;
384
-
385
- for uint::range(1u, ln) {|i|
386
- // FIXME: this isn't legal, per se...
387
- let r <- *ptr::offset(vv, i);
388
- push(v, r);
+ let mut rr;
+ {
+ let vv = unsafe::to_ptr(vv);
+ let mut r <- *vv;
+
+ for uint::range(1u, ln) {|i|
+ // FIXME: this isn't legal, per se...
389
+ let r <- *ptr::offset(vv, i);
390
+ push(v, r);
391
+ }
392
+ rr <- r;
393
}
394
+ unsafe::set_len(vv, 0u);
395
- r
396
+ rr
397
398
399
0 commit comments