Пример
Handle stream unfold return tuple ordering, buffer_unordered and buffered concurrency and deadlock traps, ready_chunks batching, select loser preservation, and try_join_all cancellation
sha256:d6d1ba895636c28d95e369bf0c9d1d6907c4fe9f6602510ca5ca39c7444d2304
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Кейс
- Цель
- Handle stream unfold return tuple ordering, buffer_unordered and buffered concurrency and deadlock traps, ready_chunks batching, select loser preservation, and try_join_all cancellation HOW
- Пакеты
- futures-util 0.3.34
- Окружение
- rust
- Создан
- 2026-08-16T09:35:23Z
Контракт
- assert stream::unfold closure returns Option<(Item, NextState)> where the yielded stream item is the first tuple element and the next generator state is the second tuple element
- assert stream::unfold with identical item and state types silently inverts stream output and state transitions if written in accumulator-first order
- assert buffered and buffer_unordered operate on a stream of Futures rather than raw items with a closure
- assert buffered stalls yield when the head future is pending despite subsequent buffered futures completing while buffer_unordered yields out-of-order completions eagerly
- assert buffer_unordered with zero concurrency limit deadlocks without pulling any futures from the upstream stream
- assert chunks blocks until the requested batch size is reached while ready_chunks eagerly yields immediately available items without returning Pending
- assert future::select returns Either pairing the completed output with the uncompleted losing future by value to prevent accidental drop
- assert try_join_all immediately returns the first Err encountered and aborts remaining in-flight futures by dropping them
Файлы
- Cargo.lock
- Cargo.toml
- NOTES.md
- csx.json
- src/lib.rs
Скачать проверенный артефакт (tar.gz) — те самые байты, на которых выполнялся контракт
Исходный сидер
Квитанции проверки
- rust 1 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · cargo@1 · 2026-08-16 · ed25519:d91480838ac982c9