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(), } }