0.2.0 Preview 1 · Frozen documentation
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. Reference extracted from this release’s bundled standard library. Public API examples are not an exhaustive compatibility test. Read the matching release guide for tested workflows and limitations. 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: MovableOwns 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 ↗