From ed42e65627f3283f0e002490fbcb652649fd3afc Mon Sep 17 00:00:00 2001 From: Titus Wormer Date: Tue, 19 Jul 2022 11:06:42 +0200 Subject: Replace use of `HashSet` with `vec` --- src/content/document.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/content/document.rs') diff --git a/src/content/document.rs b/src/content/document.rs index 7656db7..d2c2426 100644 --- a/src/content/document.rs +++ b/src/content/document.rs @@ -26,7 +26,6 @@ use crate::util::{ skip, span::{from_exit_event, serialize}, }; -use std::collections::HashSet; /// Phases where we can exit containers. #[derive(Debug, PartialEq)] @@ -84,20 +83,24 @@ pub fn document(parse_state: &mut ParseState, point: Point, index: usize) -> Vec tokenizer.push(&parse_state.codes, Box::new(start), true); let mut index = 0; - let mut next_definitions: HashSet = HashSet::new(); + let mut next_definitions = vec![]; while index < tokenizer.events.len() { let event = &tokenizer.events[index]; if event.event_type == EventType::Exit && event.token_type == Token::DefinitionLabelString { - next_definitions.insert(normalize_identifier( + let id = normalize_identifier( serialize( &parse_state.codes, &from_exit_event(&tokenizer.events, index), false, ) .as_str(), - )); + ); + + if !next_definitions.contains(&id) { + next_definitions.push(id); + } } index += 1; -- cgit