-
Notifications
You must be signed in to change notification settings - Fork 333
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
Avoid NotSerializableException when TryValues or EitherValues raise assertion failure #1884
Conversation
Hi @seblm, we require contributors to sign our Contributor License Agreement, and we don't have yours on file. In order for us to review and merge your code, please access https://www.artima.com/cla/choose-type to sign our Contributor License Agreement. Your effort is highly appreciated. Thank you. |
@cla-bot[bot] check |
The cla-bot has been summoned, and re-checked this pull request! |
@seblm if you add custom serialization shouldn't you also add custom deserializer? Won't there be problems on side receiving this event? Moving |
You've right: serializing then deserializing produce an error. I'll fix it.
Unfortunately, this change will not be binary compatible. I think it should be introduced in a major or a minor version instead of patch version. |
With a proxy which is not an inner class, serialization of |
I don't know much about java serialization, as long as it works 👍 Just hope it can be merged and released quickly 🙏 |
@seblm @kpbochenek Sorry for the late response, has been away for other works. I am looking into this now. |
@seblm @kpbochenek This PR unfortunately is having problem under scala-js and dotty build, I have submitted the following PR to your clone: https://github.com/seblm/scalatest/pull/1 Can you sanity check if the fix works for you? Note that I have run MIMA test for this PR + New PR, seems to pass. Hopefully we can release a new release containing this fix soon. |
Thanks for looking into it! |
Thanks a lot @cheeseng for your pull request. It is now rebased onto my fork. |
@bvenners This PR looks good to me now, and it passed MIMA test, do you mind to review for merging when it is convenient for you? Do you mind if we release 3.2.3 and 3.1.5 for this? Cheers. |
|
||
/** | ||
* Returns a <code>PatienceConfig</code> value providing default configuration values if implemented and made implicit in subtraits. | ||
*/ | ||
def patienceConfig: PatienceConfig | ||
} | ||
|
||
protected[concurrent] object AbstractPatienceConfiguration extends AbstractPatienceConfiguration { | ||
override def patienceConfig: PatienceConfig = PatienceConfig() |
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.
Why is this protected[concurrent] instead of just private[concurrent]?
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.
You've right: this visibility can be reduced to private
. The change is applied.
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.
Tnx. Testing this now.
…ssertion failure Fixes #1883
…h causes compile error under Dotty. Tests still passed after the removal.
Merged. Thanks very much for this PR! |
Thank you to have merge it so quickly. Do you think that it could be possible to drop jdk object serialization usage from scalatest? |
@seblm Say you added SerialVersionUID annotations to two classes in this PR. Can you elaborate on why you thought that was important? I would think we may not want to give those, so they'll be generated from the class interface. Otherwise I think we have to pay attention to when we change it incompatibly, which we would likely miss. Tnx. |
@bvenners you have right on this: I added |
I am glad to see that #2086 will handle this problem more deeply 👍 |
Fixes #1883