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

AsyncWriter

Defines a structural safe mutable byte-stream operation. Writes asynchronously while source/input loans remain live through completion. Successful/failed transfer counts may not exceed the supplied byte view. Implementations document blocking, retention and cancellation; the concept introduces no box, allocation, global stream or implicit event loop.

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.io

import std.io;

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

AsyncWriter

pub concept AsyncWriter<Self>

Defines a structural safe mutable byte-stream operation. Writes asynchronously while source/input loans remain live through completion. Successful/failed transfer counts may not exceed the supplied byte view. Implementations document blocking, retention and cancellation; the concept introduces no box, allocation, global stream or implicit event loop. Self: Concrete mutable stream state.

AsyncWriter.WriteAsync

requires fn WriteAsync(Input: readonly byte[], Token: CancellationToken) -> Task<Result<usize, IoError>>;

Starts a safe bounded byte transfer. Input: Borrowed readonly input slice; backing must remain valid through completion. Token: Owned cancellation observation for this operation. Return: Task yielding accepted/transferred byte count or portable failure with partial prefix.

AsyncWriter.FlushAsync

requires fn FlushAsync(Token: CancellationToken) -> Task<Result<void, IoError>>;

Propagates accepted bytes through downstream layers without durability promise. Token: Owned cancellation observation. Return: Task yielding complete propagation or portable failure.

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