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 #[cfg(nightly)] |
368 unsafe { Arc::get_mut_unchecked(arc_b) } |
368 unsafe { Arc::get_mut_unchecked(arc_b) } |
369 .stage_refine(domain, &mut *container); |
369 .stage_refine(domain, &mut *container); |
370 #[cfg(not(feature = "nightly"))] |
370 #[cfg(not(nightly))] |
371 Arc::get_mut(arc_b).unwrap() |
371 Arc::get_mut(arc_b).unwrap() |
372 .stage_refine(domain, &mut *container); |
372 .stage_refine(domain, &mut *container); |
373 |
373 |
374 return Err(container) |
374 return Err(container) |
375 }, |
375 }, |