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: 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 ↗