-
Notifications
You must be signed in to change notification settings - Fork 251
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
Examine the possibility to replace Stream<X> with BaseStream<X, ?> in method parameters #76
Comments
Stream<X>
with BaseStream<X, ?>
in method parameters
Hmm, interesting... Personally, I think that breaking binary compatibility between minor releases is OK. After all, I don't see why anyone would just patch a library, incrementing minor releases in a productive build without re-running all build/integration testing, etc. In this case, though: Why not just overload the methods? Chances are, you're going to eventually overload them with variants that accept |
As for I still think that the last version digit (patch) updates should guarantee binary/source compatibility to some extent. Though according to semantic versioning I can do whatever I want before version 1.0.0. Here I just mean that this change should be introduced in 0.6.0, not in 0.5.6 (there will be no 0.5.6 actually). |
Yes, I've noticed the same thing in jOOλ. Solution: Overload it 3 times:
I completely agree. Although, you said "minor" before editing. Patch releases should remain binary compatible at all costs. |
This still makes problems for those folks who tries to live in both worlds (I don't know for sure, but probably they exist!):
My bad. |
Well ;-) Just kidding. I haven't thought of this, and you're right. I suspect the source of this confusion is the fact that |
It's possible to change some
StreamEx
method signatures to avoid explicit boxing call for parameter:Also MoreCollectors method:
This change will allow to skip
.boxed()
call in some cases. E.g.:This change breaks binary compatibility (recompilation will be necessary), so cannot be introduced in patch release.
The text was updated successfully, but these errors were encountered: