Under heavy development. This site describes the intended 1.0 language. Current features and performance vary. Development status
Sn50SnThe SnAPI programming language
0.2.0 Preview 1 · Frozen documentation

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