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

Merge Merge/MergeBy/MergeJoinBy implementations #711

Closed

Commits on Jun 17, 2023

  1. Configuration menu
    Copy the full SHA
    7aee579 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2023

  1. Configuration menu
    Copy the full SHA
    0781f1d View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2023

  1. Configuration menu
    Copy the full SHA
    587261f View commit details
    Browse the repository at this point in the history
  2. Merge MergePredicate and OrderingOrBool traits

    To get rid of `const SAME: bool`, I wrap the function `F` in `MergeFuncLR` and `MergeFuncT`.
    Those `MergeFuncLR/T` have a parameter  `T` (phantom field) to not have conflicting implementations of `MergePredicate<L, R>`.
    
    In `merge_join_by` definition, in order for the compiler to keep guessing left/right types, I kept `F: FnMut(&Self::Item, &J::Item) -> T`. But to not add `F: MergePredicate<Self::Item, J::Item>` that felt duplicate, I removed `T: OrderingOrBool...`, the user might lose `OrderingOrBool` information.
    Philippe-Cholet committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    6b8750c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6f04424 View commit details
    Browse the repository at this point in the history
  4. MergeFuncT does not need a phantom field

    And I simplify `MergeFuncLR` and `MergeFuncT` to "tuple structs".
    Philippe-Cholet committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    81d371f View commit details
    Browse the repository at this point in the history
  5. Fix impl FusedIterator for MergeJoinBy constraints

    Basically because `PutBack<Fuse<I>>` is fused no matter if `I` is or not. Same for `J`.
    Philippe-Cholet committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    042ca7e View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2023

  1. Configuration menu
    Copy the full SHA
    c622606 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2023

  1. Configuration menu
    Copy the full SHA
    0a3f122 View commit details
    Browse the repository at this point in the history