From fc8cf0ed674cbb495df1baff34d4b832ca5fad3c Mon Sep 17 00:00:00 2001 From: David Orchard Date: Wed, 28 Jul 2021 22:52:15 -0700 Subject: Use LinkedHashMap in place of HashMap --- src/config.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/config.rs') diff --git a/src/config.rs b/src/config.rs index b9c64b4..6302c45 100644 --- a/src/config.rs +++ b/src/config.rs @@ -1,4 +1,4 @@ -use std::collections::HashMap; +use linked_hash_map::LinkedHashMap; use std::fmt::Debug; use crate::builder::{ConfigBuilder, DefaultState}; @@ -16,8 +16,8 @@ use crate::value::{Table, Value}; /// them according to the source's priority. #[derive(Clone, Debug)] pub struct Config { - defaults: HashMap, - overrides: HashMap, + defaults: LinkedHashMap, + overrides: LinkedHashMap, sources: Vec>, /// Root of the cached configuration. @@ -83,7 +83,7 @@ impl Config { #[deprecated(since = "0.12.0", note = "please use 'ConfigBuilder' instead")] pub fn refresh(&mut self) -> Result<&mut Config> { self.cache = { - let mut cache: Value = HashMap::::new().into(); + let mut cache: Value = LinkedHashMap::::new().into(); // Add defaults for (key, val) in self.defaults.iter() { @@ -181,7 +181,7 @@ impl Config { self.get(key).and_then(Value::into_bool) } - pub fn get_table(&self, key: &str) -> Result> { + pub fn get_table(&self, key: &str) -> Result> { self.get(key).and_then(Value::into_table) } @@ -212,7 +212,7 @@ impl Source for Config { Box::new((*self).clone()) } - fn collect(&self) -> Result> { + fn collect(&self) -> Result> { self.cache.clone().into_table() } } -- cgit v1.2.3