src/bisection_tree/refine.rs

branch
dev
changeset 55
7b2ee3e84c5f
parent 9
f40dfaf2166d
child 86
d5b0e496b72f
equal deleted inserted replaced
54:c0301da04883 55:7b2ee3e84c5f
362 match self.data { 362 match self.data {
363 NodeOption::Branches(ref mut arc_b) => { 363 NodeOption::Branches(ref mut arc_b) => {
364 let mut container = container_arc.lock().unwrap(); 364 let mut container = container_arc.lock().unwrap();
365 // Safe: we just created arg_b and have a mutable exclusive 365 // Safe: we just created arg_b and have a mutable exclusive
366 // reference to self containing it. 366 // reference to self containing it.
367 #[cfg(feature = "nightly")]
367 unsafe { Arc::get_mut_unchecked(arc_b) } 368 unsafe { Arc::get_mut_unchecked(arc_b) }
368 .stage_refine(domain, &mut *container); 369 .stage_refine(domain, &mut *container);
370 #[cfg(not(feature = "nightly"))]
371 Arc::get_mut(arc_b).unwrap()
372 .stage_refine(domain, &mut *container);
373
369 return Err(container) 374 return Err(container)
370 }, 375 },
371 _ => unreachable!("This cannot happen"), 376 _ => unreachable!("This cannot happen"),
372 } 377 }
373 } 378 }

mercurial