Compiling some futures related code fails with: `error: reached the recursion limit during monomorphization (selection ambiguity)` ```rust extern crate futures; // 0.1.6 extern crate futures_cpupool; // 0.1.2 use futures::Future; use futures_cpupool::CpuPool; const MAX: usize = 10; fn work(n: u32) -> Result<u32, ()> { ::std::thread::sleep_ms(n * 2); Ok(n) } fn fold_b(a: u64, b: u32) -> u64 { ::std::thread::sleep_ms(b); a + b as u64 } fn main() { let pool = CpuPool::new_num_cpus(); let data = (0..MAX).rev().collect::<Vec<_>>(); let a = { let workers = data.clone() .into_iter() .map(|d| pool.spawn_fn(move || work(d as u32))); ::futures::collect(workers).wait().unwrap().into_iter().fold(0, fold_b) }; } ``` ` rustc --version rustc 1.15.0-nightly (d9bdc636d 2016-11-24) `