Under heavy development. This site describes the intended 1.0 language. Current features and performance vary. Development status
Sn50SnThe SnAPI programming language
Development · Evolving reference

ChannelError

Portable bounded-channel failure identity, without native handles. Closed forbids new send commits; receive drains committed items before EOF. Cancelled never owns a second copy of a committed item. Allocation occurs at creation; lock/permit errors preserve their provider's portable identity.

Sn is under heavy development. This reference includes the intended 1.0 design; features may be incomplete in the current compiler. Read the status →

Module std.sync

import std.sync;

Public declaration contracts and authored examples. A page can document several related symbols. Implementation bodies are excluded.

ChannelError

pub enum ChannelError

Portable bounded-channel failure identity, without native handles. Closed forbids new send commits; receive drains committed items before EOF. Cancelled never owns a second copy of a committed item. Allocation occurs at creation; lock/permit errors preserve their provider's portable identity.

ChannelError.InvalidCapacity

InvalidCapacity;

Positive bounded capacity is required.

ChannelError.Full

Full;

Immediate send found no available slot.

ChannelError.Closed

Closed;

Close won before a send commit.

ChannelError.Cancelled

Cancelled;

Cancellation removed a pending permit wait.

ChannelError.EmptyOwner

EmptyOwner;

Default/moved visible owner has no state.

ChannelError.Storage

Storage;

Backing/shared allocation failed.

ChannelError.Storage.Reason

Reason: AllocationError;

ChannelError.Lock

Lock;

Short queue lock setup/acquisition failed.

ChannelError.Lock.Reason

Reason: LockError;

ChannelError.Permit

Permit;

Permit setup/admission/operation failed.

ChannelError.Permit.Reason

Reason: SemaphoreError;
Documentation snapshot: October 24, 2026 About versions ↗
Searching Development · language & standard library