Skip to content

refactor(runtime): distinguish unfulfilled futures from cancellation#47

Merged
iplaylf2 merged 6 commits into
masterfrom
refactor/future/refine-convergence-semantics
May 23, 2026
Merged

refactor(runtime): distinguish unfulfilled futures from cancellation#47
iplaylf2 merged 6 commits into
masterfrom
refactor/future/refine-convergence-semantics

Conversation

@iplaylf2

Copy link
Copy Markdown
Owner

Summary

This change separates a pending future that outlives its owner scope from cancellation.

When a scope closes with futures it still owns unresolved, those futures now settle as unfulfilled rather than canceled. The closed-owner case is not a request to cancel the observer; it means the result slot reached its lifetime boundary before any producer fulfilled it.

The host boundary keeps that distinction visible as UnfulfilledError, so callers do not receive a cancellation error for a future that was never fulfilled. The related docs wording is adjusted to describe that boundary consistently.

@iplaylf2 iplaylf2 merged commit b01bf11 into master May 23, 2026
1 check passed
@github-actions github-actions Bot mentioned this pull request May 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant