Skip to content

merge v2.13.8 tag to sbt-1.5 branch #5

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

Merged
merged 676 commits into from
Jan 21, 2022

Conversation

SethTisue
Copy link

because sbt-1.5 seems to be the branch the Scala 3 community
build is using, at least at the moment. (after scala#9909
goes through we could start just using 2.13.x, I think)

lrytz and others added 30 commits July 26, 2021 11:56
The backend is now able to turn `x += 42` into an `iinc 42`
instruction. The optimization only applies to `+=` and `-=`, provided
the the net increment fits inside a signed 16-bit value (the ASM library
handles choosing `iinc` or `wide iinc` as is appropriate).

Fixes scala/bug#7452
Teach backend to emit `iinc` instructions
Yes, Option.get is bad and you should feel bad. But the deprecation warning should not give you such lessons, but just point to the replacement at hand.
In future, unapplySeq returning a Seq directly will be OK.
For now, avoid confusion.
Accept supplementary Unicode characters in source code
The deprecation was first proposed in
scala#4990 but had been rejected
because Scala.js did not support inline group names. Now that
Scala.js 1.7.0 has been released with full inline group name
support, there is no reason to perpetuate this API.

Unfortunately, we cannot actually put `@deprecated` on the
constructor of Regex with group names, since there is no
alternative that does not take any group name. We *could* deprecate
it anyway, with the replacement being to use `.r`, but perhaps that
goes a bit too far.
…ups-api

Deprecate ad hoc group names with Regex and .r
Improve unchecked type arg warnings
In scala#9558 (which shipped with 2.13.6) we added support for `case` bindings
under -Xsource:3. Since this parser change does not break any existing
code and since IntelliJ and scalameta/metals now understand this syntax
in Scala 2 code, it should be safe to enable it by default to further
ease cross-compilation between Scala 2 and 3.
som-snytt and others added 27 commits December 3, 2021 02:59
 - Specify the size when creating `ArrayBuffer`s
 - Modify intermediate results in place as much as possible
 - Don't allocate an `Option` for padding
Non-specialized val fields in a specialized class are made non-final
because of the way specialization is encoded. A `releaseFence` call
is added to the constructor to ensure safe publication.

The releaseFence call is not necessary for class parameters as those
remain final.

Follow-up for scala#9704, fixes scala/bug#12500
-Ypickle-write-java can generate Scala pickles for Java files.
Unpickler needs to deal with the special case for Object/Any,
as we do when using Java sources of javac compiled .class files
as inputs.

Fixes scala/bug#12512
Don't emit `releaseFence` for class params of specialized classes
When implicits are disabled, we can't recover later with a conversion.
Esp. when we are already type checking an implicit conversion.

This fixes a regression uncovered in Finch.
Deal with Object/Any impedence mismatch under -Ypickle-write-java
they are used only in the build and testing, but regardless,
let's do it
Tweak inferMethodInstance to consider if implicits are enabled
This reverts commit d047407.

Reverts PR scala#9818; see scala/community-build#1519 for details
on the community build failures
@SethTisue SethTisue merged commit 687d13b into dotty-staging:sbt-1.5 Jan 21, 2022
@SethTisue SethTisue deleted the sbt-1.5 branch January 21, 2022 21:43
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.