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 good first issue help wanted

Comments

@yoshuawuyts
Copy link
Collaborator

@yoshuawuyts 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 good first issue help wanted labels Mar 14, 2020
@amadeusine
Copy link

@amadeusine amadeusine commented Mar 18, 2020

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

@yoshuawuyts yoshuawuyts commented Mar 18, 2020

@amadeusine that all sounds perfect!

@Thegaram
Copy link

@Thegaram Thegaram commented Mar 20, 2020

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

@CollinValley
Copy link

@CollinValley CollinValley commented Mar 22, 2020

#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 good first issue help wanted
Projects
None yet
Development

No branches or pull requests

4 participants