diff --git a/components/layout/parallel.rs b/components/layout/parallel.rs index 89b4e8cecea..1792e41aa6d 100644 --- a/components/layout/parallel.rs +++ b/components/layout/parallel.rs @@ -186,22 +186,21 @@ trait ParallelPostorderDomTraversal : PostorderDomTraversal { Some(parent) => parent, }; - unsafe { - let parent_layout_data = - (*parent.borrow_layout_data_unchecked()).as_ref().expect("no layout data"); + let parent_layout_data = unsafe { + &*parent.borrow_layout_data_unchecked() + }; + let parent_layout_data = parent_layout_data.as_ref().expect("no layout data"); + unsafe_node = layout_node_to_unsafe_layout_node(&parent); - unsafe_node = layout_node_to_unsafe_layout_node(&parent); - - if parent_layout_data - .data - .parallel - .children_count - .fetch_sub(1, Ordering::Relaxed) == 1 { - // We were the last child of our parent. Construct flows for our parent. - } else { - // Get out of here and find another node to work on. - break - } + if parent_layout_data + .data + .parallel + .children_count + .fetch_sub(1, Ordering::Relaxed) == 1 { + // We were the last child of our parent. Construct flows for our parent. + } else { + // Get out of here and find another node to work on. + break } } }