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

Update to Scala 2.12.11 and 2.13.3 #159

Merged
merged 1 commit into from
Jul 13, 2020

Conversation

dwestheide
Copy link
Contributor

The previous versions were a bit outdated. While not a problem per se, it does result in a warning when using the Metals extension, because it will drop support for those specific minor versions in a while.

Copy link
Contributor

@Philippus Philippus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you also update the .travis.yml file?

@kevin-lee
Copy link
Member

Yes, I think .travis.yml should be upgraded too. You may have an issue with kind-projector once you change them in .travis.yml though because of this Cross compile with the full Scala version issue.

As you know, it can be fixed easily by replacing CrossVersion.binary with CrossVersion.full but doesn't it affect the users if they use Scala versions with no matching kind-projector? I'm not so sure.

Note that methods defined with an empty parameter list
cannot be called without providing an empty parameter
list any more as of Scala 2.13.3. This commit changes
any such parameterless invocations.
@dwestheide
Copy link
Contributor Author

Yes, I think .travis.yml should be upgraded too. You may have an issue with kind-projector once you change them in .travis.yml though because of this Cross compile with the full Scala version issue.

I updated travis.yml as well now. There was no problem with kind-projector, so it seems that kind-projector is binary compatible between Scala 2.13.0 and 2.13.3.

There was, however, a different issue: In Scala 2.13.3, methods with an empty parameter list cannot be invoked any more as if hey had no parameter list. This seems to be in preparation for Scala 3, where doing so will lead to an eta expansion of that method. I had to change a few such method calls in Framework.scala, but it wasn't a big deal.

As you know, it can be fixed easily by replacing CrossVersion.binary with CrossVersion.full but doesn't it affect the users if they use Scala versions with no matching kind-projector? I'm not so sure.

If I understand correctly, if the hedgehog code still compiles with CrossVersion.binary in Travis, there is no problem at all, right? So I think we're good to go with updating to the latest Scala versions.

@kevin-lee
Copy link
Member

Yes, I think .travis.yml should be upgraded too. You may have an issue with kind-projector once you change them in .travis.yml though because of this Cross compile with the full Scala version issue.

I updated travis.yml as well now. There was no problem with kind-projector, so it seems that kind-projector is binary compatible between Scala 2.13.0 and 2.13.3.

@dwestheide That's interesting. Oh... I think I know why. It's kind-projector version 0.11.0 which requires full cross version. Sorry I didn't check the version of the kind-projector we used. 😅

There was, however, a different issue: In Scala 2.13.3, methods with an empty parameter list cannot be invoked any more as if hey had no parameter list. This seems to be in preparation for Scala 3, where doing so will lead to an eta expansion of that method. I had to change a few such method calls in Framework.scala, but it wasn't a big deal.

That's good. 👍

As you know, it can be fixed easily by replacing CrossVersion.binary with CrossVersion.full but doesn't it affect the users if they use Scala versions with no matching kind-projector? I'm not so sure.

If I understand correctly, if the hedgehog code still compiles with CrossVersion.binary in Travis, there is no problem at all, right? So I think we're good to go with updating to the latest Scala versions.

Yeah, sorry never mind. 🙂

Thanks for the PR. I think Charles should have a look at every PR but this one seems obvious and good to go.

@kevin-lee
Copy link
Member

and thanks @Philippus for the review!

@kevin-lee kevin-lee merged commit 1bdfed2 into hedgehogqa:master Jul 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants