SP026 TargetNotInPairError
ActiveError — Errors, when they are introduced, are always considered active.
A relates block describes a pairing, so every connection written inside it has to be about the two things being paired. This is what it reports when a target names something else.
The endpoint that is not the target is the subject. That is how a relates block says which way a connection runs without ever naming a subject outright. A target that is neither endpoint leaves nothing to be the subject, so the sentence has no author and the manifest has no way to record one.
A fact about only one of the two belongs in that thing's own relationships block, where the subject is the thing containing it. A fact about the pairing itself, such as when the connection became true, has no home in the language yet.
Raised by
- Relates — A relates block is a pairing worth describing on its own.
Decided in
- ADR024
RelatesTargetsInPair(isIntroducedBy) — Accepted
In the compiler
packages/prose-parser/src/errors.js:301