diff --git a/src/test/bench/graph500-bfs.rs b/src/test/bench/graph500-bfs.rs index 0f6b82c5d852..43768c2b3e32 100644 --- a/src/test/bench/graph500-bfs.rs +++ b/src/test/bench/graph500-bfs.rs @@ -540,8 +540,11 @@ fn map_slices(xs: [A], f: fn~(uint, [A]) -> B) -> [B] { while base < len { let slice = vec::slice(xs, base, uint::min(len, base + items_per_task)); + let f = ptr::addr_of(f); futures += [future::spawn() {|copy base| - f(base, slice) + unsafe { + (*f)(base, slice) + } }]; base += items_per_task; }