diff options
-rw-r--r-- | components/style/rule_tree/mod.rs | 7 |
1 files 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; } |