Skip to content

Upgrade to Scala 3.7.0 #454

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

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open

Conversation

mrdziuban
Copy link

Upgrades to Scala 3.7.0 and 2.13.16 for Scala 2 tests. Also upgrades Scala.js to 1.19.0 to match the compiler upgrade in scala/scala3#23026.

@@ -140,6 +140,7 @@ private[reader] object ClassfileParser {
val bytesArrArg = scalaSigAnnotation.values.head._2.asInstanceOf[AnnotationValue.Arr]
val idxs = bytesArrArg.values.map(_.asInstanceOf[AnnotationValue.Const].valueIdx)
pool.sigbytes(idxs)
case _: SimpleName => failNoAnnot()
Copy link
Author

Choose a reason for hiding this comment

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

This was reported as an inexhaustive match. I figured failing seemed reasonable but I'm happy to change it if you think there's a better option @sjrd

@@ -31,9 +31,9 @@ private[pickles] class PickleReader {
private var frozenSymbols: Boolean = false

/** The map from created local symbols to the address of their info, until it gets read. */
private val localSymbolInfoRefs = mutable.AnyRefMap.empty[TermOrTypeSymbol, Int]
private val localSymbolInfoRefs = mutable.HashMap.empty[TermOrTypeSymbol, Int]
Copy link
Author

Choose a reason for hiding this comment

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

mutable.AnyRefMap was deprecated in scala/scala#10862 and now encourages use of mutable.HashMap

@mrdziuban
Copy link
Author

Happy to address the version policy failures, just not sure what the best way to do so is. Let me know

@sjrd
Copy link
Contributor

sjrd commented May 9, 2025

Happy to address the version policy failures, just not sure what the best way to do so is. Let me know

See for example #449.

@mrdziuban
Copy link
Author

See for example #449.

Thanks @sjrd. I was able to get it working by setting versionPolicyIntention := Compatibility.None. Compatibility.BinaryCompatible didn't work like in #449 due to the change from AnyRefMap to HashMap

@sjrd
Copy link
Contributor

sjrd commented May 9, 2025

See for example #449.

Thanks @sjrd. I was able to get it working by setting versionPolicyIntention := Compatibility.None. Compatibility.BinaryCompatible didn't work like in #449 due to the change from AnyRefMap to HashMap

These are all private fields. They should be MiMa-filtered instead.

@mrdziuban
Copy link
Author

See for example #449.

Thanks @sjrd. I was able to get it working by setting versionPolicyIntention := Compatibility.None. Compatibility.BinaryCompatible didn't work like in #449 due to the change from AnyRefMap to HashMap

These are all private fields. They should be MiMa-filtered instead.

Okay, I can do that, but what do you suggest for this error when running tastyQueryJS/versionPolicyCheck due to the Scala.js upgrade?

Incompatibilities with dependencies of tasty-query:1.5.0
  org.scala-js:scalajs-scalalib_2.13: incompatible version change from 2.13.13+1.16.0 to 2.13.16+1.19.0 (compatibility: strict semantic versioning)

@mrdziuban
Copy link
Author

Just following up here @sjrd, do you have any suggestions for the Scala.js incompatibility issue?

@mrdziuban
Copy link
Author

Hi @sjrd, wanted to follow up again. Now that the Scala 3.7.1 release is in progress I would love to push this over the finish line. For context, I'm trying to unblock the upgrade in a tool I built on top of tasty-query.

What can I do to work around the reported Scala.js incompatibility issue?

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.

2 participants