Comments (2)
For the Zip
variant: we may want to skip directly ahead to #22 in terms of implementation, creating an output slot of Container[MaybUninit<T>]
where we write into, and then mem::swap
on each iteration.
Metadata would need to be stored in an accompanying PollState
slot. The main things to keep an eye will be to:
- ensure to implement the
PinnedDrop
trait to drop memory in the case of a cancellation - switch between
PollState::Pending
andPollState::Ready
while data is actively being yielded, and only switch toPollState::Consume
at the end.
The semantics of Zip
are that if at any point one of the streams yields Poll::Ready(None)
, all other streams are cancelled. We should create a case where one stream yields more times than the other streams so that we can exercise miri
's checkers during CI.
from futures-concurrency.
Filed a concern in rust-lang/rust#80094 since its existence requires us to author:
let mut s = Zip::zip([a, b, c]);
instead of:
let mut s = [a, b, c].zip();
from futures-concurrency.
Related Issues (20)
- Using .join() on an empty Vec stalls HOT 2
- `TryJoin` on tuple trying to free a null pointer HOT 8
- wrapping_rem called with a value of zero HOT 4
- Handling control flow HOT 2
- Use `Waker::clone_from` internally
- Update traits to use AFITs / associated `impl Future` HOT 1
- `Stream::merge` may be susceptible to stream "barbara battles buffered streams" HOT 3
- Implement precise waking on `alloc` targets HOT 2
- Implement better capacity in our group structures HOT 2
- Forgetten `todo!()` in `try_for_each` impl
- fix perf issues in group structures HOT 1
- Add an inherent into_stream method for ConcurrentIterator
- Declare minimum support rust version in Cargo manifest HOT 1
- ConcurrentStream usage with tokio leads to ACCESS_VIOLATION HOT 4
- no progress with concurrent streams and tokio HOT 1
- [FEATURE] more combinators HOT 4
- Only a single cpu core is utilized when `join`-ing on `tokio` runtime HOT 8
- Fix pin violation in `FutureGroup` HOT 1
- Poor performance when polling futures in random order
- `bitvec` alternatives
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from futures-concurrency.