operator_compose_no_merge_error
Stable error · Flatten
Tier: stable · Kind: error · Topic: Flatten
| Julia | TypeScript | Python | Rust | Go |
|---|---|---|---|---|
OperatorComposeNoMergeError | OperatorComposeNoMergeError | OperatorComposeNoMergeError | not exported | OperatorComposeNoMergeError |
Julia
struct OperatorComposeNoMergeError <: EarthSciASTError
OperatorComposeNoMergeError(details::String)
OperatorComposeNoMergeError(details)
OperatorComposeNoMergeError
Raised when an operator_compose entry merges NOTHING (esm-libraries-spec §4.7.1
step 5).
An entry that matches nothing is indistinguishable from an entry that is not there: the operator integrates a private, decoupled system from its own defaults, the other system receives no contribution at all, and the only evidence is a state count one too high. That is the one outcome a coupling mis-specification must not have, so it is refused rather than reported.
An operator that genuinely contributes only states of its own — a transport
operator whose single equation defines its own wind field, say — says so with
require_match: false, and is then permitted.
Fields:
details::String: the entry, the merge tally, and the unmatched dependent variables.
TypeScript
class OperatorComposeNoMergeError extends FlattenError
new OperatorComposeNoMergeError(message: string): OperatorComposeNoMergeError
An operator_compose entry merged NOTHING (esm-libraries-spec §4.7.1 step 5).
Such an entry is indistinguishable from one that is not there: the operator integrates a private, decoupled system from its own defaults, the other system receives no contribution at all, and the only evidence is a state count one too high. That is the one outcome a coupling mis-specification must not have, so it is refused rather than reported.
An operator that genuinely contributes only states of its own — a transport
operator whose single equation defines its own wind field, say — says so with
require_match: false, and is then permitted.
Python
class OperatorComposeNoMergeError(FlattenError)
An operator_compose entry merged NOTHING (esm-libraries-spec §4.7.1 step 5).
An entry that matches nothing is indistinguishable from an entry that is not there: the operator integrates a private, decoupled system from its own defaults, the other system receives no contribution at all, and the only evidence is a state count one too high. That is the one outcome a coupling mis-specification must not have, so it is refused rather than reported.
An operator that genuinely contributes only states of its own – a transport
operator whose single equation defines its own wind field, say – says so
with require_match: false, and is then permitted.
Rust
Rust does not export this error.
Go
type OperatorComposeNoMergeError struct {
// A and B are the entry's two systems, Systems[0] and Systems[1].
A, B string
// Unmatched names the dependent variables that found no counterpart, in
// document order.
Unmatched []string
Message string
}
func (e *OperatorComposeNoMergeError) DiagnosticCode() string
func (e *OperatorComposeNoMergeError) Error() string
OperatorComposeNoMergeError reports that an operator_compose entry merged NOTHING (esm-libraries-spec §4.7.1 step 5).
Such an entry is indistinguishable from one that is not there: the operator integrates a private, decoupled system from its own defaults, the other system receives no contribution at all, and the only evidence is a state count one too high. That is the one outcome a coupling mis-specification must not have, so it is refused rather than reported.
An operator that genuinely contributes only states of its own — a transport operator whose single equation defines its own wind field, say — says so with require_match: false, and is then permitted.
Methods
func (e *OperatorComposeNoMergeError) DiagnosticCode() string
DiagnosticCode returns the stable diagnostic code (DiagnosticError).
func (e *OperatorComposeNoMergeError) Error() string