Skip to main content

check_keys

Function check_keys 

Source
fn check_keys(node: &Yaml, prefix: &str) -> Result<(), String>
Expand description

Refuse a key Mira does not read, or a shape it cannot read.

The gets above are silent about everything they do not name, so storage.retension and a retention nested one level too deep both boot happily on the 7-day default and surface a week later as a full disk. A flag Mira does not know is already unknown flag --nope; there is no reason a file should be the lenient half of the same interface.

lookup is just as silent about a value of the wrong shape — a list where a string belongs, a string where a section belongs — and the outcome is identical: the default, in silence. So the structure is checked here too, where the full path is in hand to name.

The closed set is also what makes deleting a setting safe: a key that no longer exists becomes a startup error naming it, rather than a value the operator still believes is in effect.