Join on ancestor handle is forbidden
Platform spec ADR
Join on ancestor handle is forbidden
Spec standingStandard
- No directly attached article pages for this node.
0 revisions (git unavailable at build; counts may be empty)
No commits recorded for this path.
| Section id | Required | Found |
|---|---|---|
what-this-feature-specifies | yes | yes |
implementation-anchors | yes | yes |
Full tree: run pnpm verify:platform-spec-layout (writes src/generated/platform-spec-layout-report.json).
Context
Section titled “Context”Waiting on an ancestor handle while the ancestor may wait on descendants creates predictable deadlocks.
Decision
Section titled “Decision”Join on a parent or ancestor Fiber<T> handle must be a compile error (JoinWouldDeadlock). Normative ordering for cancel + Join aligns with D-CORE-CONC-0014.
Consequences
Section titled “Consequences”Structured concurrency stays acyclic on the join graph; runtime need not recover ancestor joins.
Verification anchors
Section titled “Verification anchors”compiler/crates/beskid_analysis/; D-CORE-CONC-0014.