summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib.rs12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 6b061bf..57114fc 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -783,12 +783,12 @@ impl Configuration {
} else {
// Check if `key` has any defined subkeys
let start_idx = self.subkey_start_idx(key);
- let (subkey, subval) = self.items.get(start_idx)?;
- if subkey.starts_with(key) && subkey[key.len()..].starts_with('.') {
- Some(subval.defined_at.clone())
- } else {
- None
- }
+ let end_idx = self.subkey_end_idx(key);
+ self.items[start_idx..end_idx]
+ .iter()
+ .map(|(_, value)| &value.defined_at)
+ .min_by_key(|loc| loc.line)
+ .cloned()
}
}