-
Notifications
You must be signed in to change notification settings - Fork 408
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
Binary compatibility issue in 1.15.0 #696
Comments
Oscar raised his concern in a comment in #575, the original PR, and pointed out that type erasure means it's still binary compatible. So, this is only a source-compatibility breaking change? |
@johnynek Can you comment on this? |
In 2.12 and earlier, I think immutable.Seq extends collection.Seq, but maybe that's not true in 2.13 so this differs a runtime exception... If we are not running mima on all published versions, I think we need to update to do so, but even so, the version did bump to a new minor version, so maybe we just need to update the readme and say that there was a minor binary break in 2.13 |
Mima is run on all versions, and even 2.13 after #482, but, yes, it only deals with binary compatible changes, IIUC. |
At the moment I'm only glancing at this and not digging, but as per lightbend-labs/mima#299 shouldn't MiMa have warned on a generic-signature change? |
You're right, Seth. We disabled signature checking in 7bb0613. That's probably the issue. |
Actually, that wasn't the issue. Signature checking was enabled by default in 0.4.0, but then changed to opt-in in 0.7.0, see lightbend-labs/mima#471 |
That's right. Having both of these enabled didn't help. Turning them off, we do get the signature problems reported by MiMa. |
We can probably remove the return type signatures added for |
You could just put those functions and type aliases in version dependent files and then call them from Gen. |
I predict Erik had an issue with lining up the types with |
Are you running a release for this, @ashawley? |
No, I was not planning to do the 1.15.1 release. Would appreciate if you'd be willing to do it again. I'm not sure what others think, but it should be ready to go. |
OK, I will take care of it. |
I ran out of time today, but it's on my list for tomorrow. |
Done. |
Reported by @xuwei-k here: d4a3c25#r43785860
org.scalacheck.Gen.someOf
1.15.0
<T:Ljava/lang/Object;>(Lorg/scalacheck/Gen<TT;>;Lorg/scalacheck/Gen<TT;>;Lscala/collection/immutable/Seq<Lorg/scalacheck/Gen<TT;>;>;)Lorg/scalacheck/Gen<Lscala/collection/Seq<TT;>;>;
1.14.3
<T:Ljava/lang/Object;>(Lorg/scalacheck/Gen<TT;>;Lorg/scalacheck/Gen<TT;>;Lscala/collection/immutable/Seq<Lorg/scalacheck/Gen<TT;>;>;)Lorg/scalacheck/Gen<Lscala/collection/immutable/Seq<TT;>;>;
org.scalacheck.Gen.atLeastOne
1.15.0
<T:Ljava/lang/Object;>(Lorg/scalacheck/Gen<TT;>;Lorg/scalacheck/Gen<TT;>;Lscala/collection/immutable/Seq<Lorg/scalacheck/Gen<TT;>;>;)Lorg/scalacheck/Gen<Lscala/collection/Seq<TT;>;>;
1.14.3
<T:Ljava/lang/Object;>(Lorg/scalacheck/Gen<TT;>;Lorg/scalacheck/Gen<TT;>;Lscala/collection/immutable/Seq<Lorg/scalacheck/Gen<TT;>;>;)Lorg/scalacheck/Gen<Lscala/collection/immutable/Seq<TT;>;>;
The text was updated successfully, but these errors were encountered: