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

AsyncIterable

Defines a source creating independent async traversal state. The source documents whether independent cursors replay, partition or compete for items, and whether they borrow or retain backing. The protocol promises no implicit buffering, allocation, executor, thread safety or replay semantics.

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

import std.iteration;

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

AsyncIterable

pub concept AsyncIterable<Self>

Defines a source creating independent async traversal state. The source documents whether independent cursors replay, partition or compete for items, and whether they borrow or retain backing. The protocol promises no implicit buffering, allocation, executor, thread safety or replay semantics. Self: Concrete source type satisfying structural requirements.

AsyncIterable.IteratorType

associated type IteratorType: AsyncIterator;

Exact cursor type satisfying the incremental step protocol.

AsyncIterable.CreateAsyncIterator

requires readonly fn CreateAsyncIterator() -> IteratorType;

Creates caller-owned traversal state under the source's retention rules. Return: Concrete cursor; cost and backing validity belong to the source.

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