From fc6bed28ff82913da497ab561ff6a31869dfe24a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Mon, 19 Dec 2016 09:22:07 +0100 Subject: [PATCH] style: Use a HashSet in free-list check. --- components/style/rule_tree/mod.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/components/style/rule_tree/mod.rs b/components/style/rule_tree/mod.rs index 6ade281c351..1ba4232dd44 100644 --- a/components/style/rule_tree/mod.rs +++ b/components/style/rule_tree/mod.rs @@ -468,18 +468,19 @@ impl StrongRuleNode { } unsafe fn assert_free_list_has_no_duplicates_or_null(&self) { - assert!(cfg!(debug_assertions)); + assert!(cfg!(debug_assertions), "This is an expensive check!"); + use std::collections::HashSet; let me = &*self.ptr; assert!(me.is_root()); let mut current = self.ptr; - let mut seen = vec![]; + let mut seen = HashSet::new(); while current != FREE_LIST_SENTINEL { let next = (*current).next_free.load(Ordering::SeqCst); assert!(!next.is_null()); assert!(!seen.contains(&next)); - seen.push(next); + seen.insert(next); current = next; }