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 } |