diff options
-rw-r--r-- | src/lib.rs | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -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() } } |