-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
weaken constraint on ParallelApOps and ParallelApplyOps methods #4078
Conversation
It is all about syntax changes only, right? I think it may be worth to fix |
|
||
implicit final def catsSyntaxParallelAp1[M[_], A](ma: M[A]): ParallelApOps[M, A] = | ||
new ParallelApOps(ma) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FlatMap
also didn't get used so have removed it as a constraint for using the NonEmptyParallel
syntax
@deprecated("Kept for binary compatibility", "2.8.0") | ||
implicit final def catsSyntaxParallelAp[M[_]: FlatMap, A](ma: M[A]): ParallelApOps[M, A] = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@deprecated("Kept for binary compatibility", "2.8.0") | |
implicit final def catsSyntaxParallelAp[M[_]: FlatMap, A](ma: M[A]): ParallelApOps[M, A] = | |
@deprecated("Kept for binary compatibility", "2.8.0") | |
private[syntax] final def catsSyntaxParallelAp[M[_]: FlatMap, A](ma: M[A]): ParallelApOps[M, A] = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you reverted this because MiMa was complaining about missing static methods? I think it is is safe to filter those, because they only affect Java and I think it would be unusual for Java code to be using these syntax extensions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it may be okay to leave it public if private[syntax]
breaks BC. The only thing – the implicit
modifier should be pulled off the identifier, but as I can see, it is already done here.
Co-authored-by: Arman Bilge <armanbilge@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks really good to me. Thank you for investing your time into it.
any clue why the tests aren't compiling now? can't spot it and intellij is happy 🤔 |
Looks like the tests are failing for Scala 2.12.15, but IntelliJ compiles with Scala 2.13.7 as this is a default Scala version. |
Try |
fix syntax compilation on 2.12.15
latest commit seems to be necessary to get the syntax to work on 2.12.15 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for all your effort to fix this bincompatibly, much appreciated! :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, thanks!
Addresses #4077, following the technique in #3997 to ensure bincompat