From b6e5f8e7b6d5b8013cd967a533c9400690f69b0a Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Thu, 25 Jun 2015 22:31:48 +0200 Subject: [PATCH] Reduce the scope of the unsafe block in ParallelPostorderDomTraversal. --- components/layout/parallel.rs | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) 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 } } }