Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[tracking] Streams parity #2

Open
3 of 79 tasks
yoshuawuyts opened this issue Mar 14, 2020 · 4 comments
Open
3 of 79 tasks

[tracking] Streams parity #2

yoshuawuyts opened this issue Mar 14, 2020 · 4 comments
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed

Comments

@yoshuawuyts
Copy link
Collaborator

yoshuawuyts commented Mar 14, 2020

Similar to async-rs/async-std#129, this tracks all missing methods and functions for ParallelStream. Each method and function should take an async closure as an argument (even if it's still slightly cumbersome to do so), and expose its return future.

If you'd like to implement a method or a function, just comment on this issue and it's yours!

Missing free functions

  • from_fn
  • repeat_with
  • successors

Missing traits

  • ParallelExtend
  • ParallelProduct
  • ParallelSum

Missing stream methods

  • ParallelStream::all
  • ParallelStream::any
  • ParallelStream::by_ref
  • ParallelStream::chain
  • ParallelStream::cloned
  • ParallelStream::cmp
  • ParallelStream::collect
  • ParallelStream::copied
  • ParallelStream::count
  • ParallelStream::cycle
  • ParallelStream::enumerate
  • ParallelStream::eq
  • ParallelStream::filter
  • ParallelStream::filter_map
  • ParallelStream::find
  • ParallelStream::find_map
  • ParallelStream::flat_map
  • ParallelStream::flatten
  • ParallelStream::fold
  • ParallelStream::for_each
  • ParallelStream::fuse
  • ParallelStream::ge
  • ParallelStream::gt
  • ParallelStream::inspect
  • ParallelStream::last
  • ParallelStream::le
  • ParallelStream::lt
  • ParallelStream::map
  • ParallelStream::max
  • ParallelStream::max_by
  • ParallelStream::max_by_key
  • ParallelStream::min
  • ParallelStream::min_by
  • ParallelStream::min_by_key
  • ParallelStream::ne
  • ParallelStream::next
  • ParallelStream::nth
  • ParallelStream::partial_cmp
  • ParallelStream::partition
  • ParallelStream::peekable
  • ParallelStream::position
  • ParallelStream::product
  • ParallelStream::rev
  • ParallelStream::rposition
  • ParallelStream::scan
  • ParallelStream::size_hint
  • ParallelStream::skip
  • ParallelStream::skip_while
  • ParallelStream::step_by
  • ParallelStream::sum
  • ParallelStream::take
  • ParallelStream::take_while
  • ParallelStream::try_fold
  • ParallelStream::try_for_each
  • ParallelStream::unzip
  • ParallelStream::zip

Missing FromStream impls

  • FromParallelStream<()> for ()
  • FromParallelStream<char> for String
  • FromParallelStream<String> for String
  • FromParallelStream<&'a char> for String
  • FromParallelStream<&'a str> for String
  • FromParallelStream<T> for Cow<'a, [T]> where T: Clone
  • FromParallelStream<A> for Box<[A]>
  • FromParallelStream<A> for VecDeque<A>
  • FromParallelStream<Result<A, E>> for Result<V, E> where V: FromStream<A>
  • FromParallelStream<Option<A>> for Option<V> where V: FromStream<A>
  • FromParallelStream<(K, V)> for BTreeMap<K, V> where K: Ord
  • FromParallelStream<(K, V)> for HashMap<K, V, S> where K: Eq + Hash, S: BuildHasher + Default
  • FromParallelStream<T> for BinaryHeap<T> where T: Ord
  • FromParallelStream<T> for BTreeSet<T> where T: Ord
  • FromParallelStream<T> for LinkedList<T>
  • FromParallelStream<T> for Vec<T>
  • FromParallelStream<T> for HashSet<T, S> where T: Eq + Hash, S: BuildHasher + Default
@yoshuawuyts yoshuawuyts changed the title [tracking] API [tracking] Streams parity Mar 14, 2020
@yoshuawuyts yoshuawuyts added enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed labels Mar 14, 2020
@amadeusine
Copy link

I would like to take on ParallelStream::any if that seems reasonable. Since Contributing on the readme seems unavailable, should I PR directly? 🙂

@yoshuawuyts
Copy link
Collaborator Author

@amadeusine that all sounds perfect!

@Thegaram
Copy link

I'd like to add ParallelStream::count if that's okay for you.

@CollinValley
Copy link

#10 Implementation of FilterMap, would be willing to do more as well.

bnjjj added a commit to bnjjj/parallel-stream that referenced this issue May 13, 2020
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
bnjjj added a commit to bnjjj/parallel-stream that referenced this issue May 13, 2020
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants