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