prelude.Sender

Part of prelude.

let Sender.send (self: Sender[T]) (value: T): Result[Unit, T]

Returns Ok(()) when queued, or Err(value) when every receiver has gone. Puts a value on the unbounded channel without waiting for the receiver. Queued values consume memory until received or the last receiver is released; send does not apply backpressure. Panics with channel send failed if the payload or queue node cannot be allocated; a failed send never reports success.

Implemented by the compiler itself, so it has no Plum source to read.