Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Channel builtins return Result not panic

Platform spec ADR

Channel builtins return Result not panic

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki

Panicking on backpressure or closed channels makes cooperative code fragile and inconsistent with corelib Result types.

OperationRuntime behavior
Send after CloseClosed in Result
Receive on closed emptyClosed
TrySend / TryReceiveOption for full/empty
CancelParked ops wake with Cancelled after child OnCancelled
Join on cancelled childFiberError::Cancelled
PanicForbidden for ordinary channel/hub/mutex errors

Aligns with D-CORE-CONC-0005.

Builtin implementations and corelib wrappers must share error enums. Duplicate Close is idempotent-safe.

Contracts and edge cases; concurrency runtime tests.