Document and benchmark sibling inheritance

This commit is contained in:
2026-09-29 23:13:50 +00:00
parent df9a02539c
commit 2ca1f80094
22 changed files with 440 additions and 56 deletions

View File

@@ -30,8 +30,9 @@ type LayeredOptions[T any] struct {
// imports with each input's tier. It strictly composes contributions within
// each underlay, then recursively combines underlays in listed order beneath
// main, a selected overlay, and CLI overrides. Defaults, decoding, resolution,
// and validation run once on the assembled input. Source IDs follow acquisition
// order, not precedence order. Zero or one options value is accepted; any error
// and validation run once after sibling `extends` expansion of the assembled
// input. Source IDs follow acquisition order, not precedence order. Zero or
// one options value is accepted; any error
// returns a nil result.
func LoadLayered[T any](main Input, supplied ...LayeredOptions[T]) (*Result[T], error) {
options := make([]engine.LayeredOptions[T], len(supplied))