This was unsafe, and will probably leak.
This commit is contained in:
parent
3b9848b869
commit
dc3862bf58
1 changed files with 12 additions and 7 deletions
|
@ -379,16 +379,21 @@ fn shift<T>(&v: [T]) -> T {
|
||||||
v <-> vv;
|
v <-> vv;
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
|
let mut rr;
|
||||||
|
{
|
||||||
let vv = unsafe::to_ptr(vv);
|
let vv = unsafe::to_ptr(vv);
|
||||||
let r <- *vv;
|
let mut r <- *vv;
|
||||||
|
|
||||||
for uint::range(1u, ln) {|i|
|
for uint::range(1u, ln) {|i|
|
||||||
// FIXME: this isn't legal, per se...
|
// FIXME: this isn't legal, per se...
|
||||||
let r <- *ptr::offset(vv, i);
|
let r <- *ptr::offset(vv, i);
|
||||||
push(v, r);
|
push(v, r);
|
||||||
}
|
}
|
||||||
|
rr <- r;
|
||||||
|
}
|
||||||
|
unsafe::set_len(vv, 0u);
|
||||||
|
|
||||||
r
|
rr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue