Skip to content

Compono.CompositionConfigurationError.DuplicateConfigurationOption

Compono

Compono.CompositionConfigurationError

CompositionConfigurationError.DuplicateConfigurationOption Class

The same scalar (singleton-valued) configuration option - WithSeed, WithCollectionSize's global default, or UseServiceProvider - was set more than once across a single Create(Action<CompositionBuilder>) callback.

public sealed record CompositionConfigurationError.DuplicateConfigurationOption : Compono.CompositionConfigurationError, System.IEquatable<Compono.CompositionConfigurationError.DuplicateConfigurationOption>

Inheritance System.ObjectCompositionConfigurationError → DuplicateConfigurationOption

Implements System.IEquatable<DuplicateConfigurationOption>

Remarks

Deliberately fail-fast rather than last-wins, unlike a typical "options builder" convention - see docs/adr/0017-immutable-composer-configuration-and-builder-model.md's Amendment for why a contradictory scalar configuration (e.g. two different seeds) has no coherent effective value to fall back to.

Constructors
DuplicateConfigurationOption(string, IReadOnlyList<ConfigurationSource>) Creates a DuplicateConfigurationOption error.
Properties
OptionName The builder verb's name, e.g. "WithSeed".
Sources Every call that set this option, in call order - always at least two. A genuinely immutable snapshot (Compono.ImmutableSnapshot) taken at construction, never the caller-supplied list itself and never a plain array a caller could cast back to and mutate - the same mutation-after-construction concern Errors guards against, one level deeper.