From 5b2cc1df77e9258e8d14e9de56e317184544af6b Mon Sep 17 00:00:00 2001 From: Connor Skees Date: Wed, 8 Jul 2020 20:50:18 -0400 Subject: [PATCH] use btreemap to back scope --- src/common.rs | 2 +- src/scope.rs | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/common.rs b/src/common.rs index 882793c..c52a593 100644 --- a/src/common.rs +++ b/src/common.rs @@ -110,7 +110,7 @@ impl ListSeparator { /// /// This struct protects that invariant by normalizing all /// underscores into hypens. -#[derive(Debug, Clone, Eq, PartialEq, Hash)] +#[derive(Debug, Clone, Eq, PartialEq, Hash, PartialOrd, Ord)] pub(crate) struct Identifier(String); impl From for Identifier { diff --git a/src/scope.rs b/src/scope.rs index 90e30f7..733b9cd 100644 --- a/src/scope.rs +++ b/src/scope.rs @@ -1,4 +1,4 @@ -use std::collections::HashMap; +use std::collections::BTreeMap; use codemap::Spanned; @@ -12,18 +12,18 @@ use crate::{ #[derive(Debug, Default)] pub(crate) struct Scope { - vars: HashMap>, - mixins: HashMap, - functions: HashMap, + vars: BTreeMap>, + mixins: BTreeMap, + functions: BTreeMap, } impl Scope { #[must_use] pub fn new() -> Self { Self { - vars: HashMap::new(), - mixins: HashMap::new(), - functions: HashMap::new(), + vars: BTreeMap::new(), + mixins: BTreeMap::new(), + functions: BTreeMap::new(), } }