diff options
| author | Aaron Turon <aturon@mozilla.com> | 2015-01-21 11:16:00 -0800 |
|---|---|---|
| committer | Aaron Turon <aturon@mozilla.com> | 2015-01-21 11:16:00 -0800 |
| commit | 537889aa78c984ee6484d16fec4a67f35778aec6 (patch) | |
| tree | 275a624afad3249473407eca83548f3bcb6e46fa /src/test | |
| parent | da8023d653618431f8e1c651e0c3b83fa0d4269a (diff) | |
| download | rust-537889aa78c984ee6484d16fec4a67f35778aec6.tar.gz rust-537889aa78c984ee6484d16fec4a67f35778aec6.zip | |
Fix type inference problems in tests and docs
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/bench/shootout-binarytrees.rs | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/test/bench/shootout-binarytrees.rs b/src/test/bench/shootout-binarytrees.rs index 58e2430b0ff..4182f8b651b 100644 --- a/src/test/bench/shootout-binarytrees.rs +++ b/src/test/bench/shootout-binarytrees.rs @@ -41,7 +41,7 @@ extern crate arena; use std::iter::range_step; -use std::thread::Thread; +use std::thread::{Thread, JoinGuard}; use arena::TypedArena; struct Tree<'a> { @@ -71,6 +71,18 @@ fn bottom_up_tree<'r>(arena: &'r TypedArena<Tree<'r>>, item: i32, depth: i32) } } +fn inner(depth: i32, iterations: i32) -> String { + let mut chk = 0; + for i in 1 .. iterations + 1 { + let arena = TypedArena::new(); + let a = bottom_up_tree(&arena, i, depth); + let b = bottom_up_tree(&arena, -i, depth); + chk += item_check(&a) + item_check(&b); + } + format!("{}\t trees of depth {}\t check: {}", + iterations * 2, depth, chk) +} + fn main() { let args = std::os::args(); let args = args.as_slice(); @@ -97,20 +109,10 @@ fn main() { let long_lived_tree = bottom_up_tree(&long_lived_arena, 0, max_depth); let messages = range_step(min_depth, max_depth + 1, 2).map(|depth| { - use std::num::Int; - let iterations = 2.pow((max_depth - depth + min_depth) as usize); - Thread::scoped(move|| { - let mut chk = 0; - for i in 1 .. iterations + 1 { - let arena = TypedArena::new(); - let a = bottom_up_tree(&arena, i, depth); - let b = bottom_up_tree(&arena, -i, depth); - chk += item_check(&a) + item_check(&b); - } - format!("{}\t trees of depth {}\t check: {}", - iterations * 2, depth, chk) - }) - }).collect::<Vec<_>>(); + use std::num::Int; + let iterations = 2.pow((max_depth - depth + min_depth) as usize); + Thread::scoped(move || inner(depth, iterations)) + }).collect::<Vec<_>>(); for message in messages.into_iter() { println!("{}", message.join().ok().unwrap()); |
