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
yoshuawuyts opened this issue Mar 14, 2020 · 4 comments
Open

[tracking] Streams parity #2

yoshuawuyts opened this issue Mar 14, 2020 · 4 comments

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
@amadeusine

This comment has been minimized.

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

This comment has been minimized.

Copy link
Collaborator Author

@yoshuawuyts yoshuawuyts commented Mar 18, 2020

@amadeusine that all sounds perfect!

@Thegaram

This comment has been minimized.

Copy link

@Thegaram Thegaram commented Mar 20, 2020

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

@CollinValley

This comment has been minimized.

Copy link

@CollinValley CollinValley commented Mar 22, 2020

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.