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

ChannelSendError

Owns the item that did not commit to a bounded channel. Moving the error transfers its item; destroying it destroys the unsent item. No extra allocation, shared duplicate or implicit retry occurs.

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.

ChannelSendError

pub class ChannelSendError<T> where T: Movable

Owns the item that did not commit to a bounded channel. Moving the error transfers its item; destroying it destroys the unsent item. No extra allocation, shared duplicate or implicit retry occurs. T: Movable unsent payload.

ChannelSendError.Reason

pub Reason: ChannelError;

Exact portable pre-commit reason.

ChannelSendError.Value

pub Value: T;

Owned original item available for retry.

ChannelSendError.init

pub init(Reason: ChannelError, mut Value: T)

Transfers failed input without allocating. Reason: Portable reason. Value: Owned unsent payload.

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