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

Synchronize language-reference-stable with Scala 3.6.3 #22398

Open
wants to merge 1,164 commits into
base: language-reference-stable
Choose a base branch
from

Conversation

WojciechMazur
Copy link
Contributor

No description provided.

jchyb and others added 30 commits October 14, 2024 11:17
…1414)

While recalculating denotation in NamedType (in `NamedType.memberDenot`,
which itself can be called from `NamedType.computeDenot` or
`NamedType.recomputeDenot`), it might call `NamedType.disambiguate`
which uses a denotation to decide about the correct overloaded method.
Using current denotation here might cause stale symbol errors, so
instead we use the `lastKnownDenotation`, which should be enough for the
use case here, as `targetName` should not change between phases/runs.

Later in the denotation recalculation a similar thing happens with
`SourceLanguage.apply`, where we also now avoid using currentDenotation,
as whether the symbol comes from java or Scala 2 should also not change
between phases/runs.
Because `scala3-compiler` contains a copy of `scalajs-ir`, they conflict
with each other when being in the same classpath. This was found when
trying to migrate the `sbt-scalajs` to sbt 2, because `sbt-scalajs`
depends on `scalajs-ir` and on `sbt`, which depends on
`scala3-compiler`. The related issue is
sbt/sbt#7709.

The solution is to shade the compiler version of `scalajs-ir` under its
own package: `dotty.tool.sjs.ir`. The compiler uses the `scalajs-ir`
internally but it does not need to expose it.
the same upgrade is in flight in these other repos:

* scala/scala#10882
* sbt/sbt#7695
 
JLine release notes:

* https://github.com/jline/jline3/releases/tag/jline-3.27.0
*
https://github.com/java-native-access/jna/blob/master/CHANGES.md#release-5150

a lot of bugfixes, nothing really stands out that I can see

we usually take these upgrades in the hopes they will improve things in
small ways, especially for Windows users

I verified that the `repl` command inside our sbt build still works (on
MacOS anyway)
Previously were referring to non-exisitng file in the outer directory.

[skip ci]
https://stackoverflow.com/q/68877939/21927647

Answer to the question:

> You were not doing anything wrong, this was an implementation
limitation.
>
> Your example compiles successfully since Scala 3.4, thanks to the
changes introduced in SIP-56 "Proper specification for match types"
([text](https://docs.scala-lang.org/sips/match-types-spec.html#:~:text=This%20SIP%20proposes%20a%20proper,the%20specification%20of%20the%20language.),
[PR](scala#18262)).
fixes scala#21762 

This makes it possible to implement line number correction for Mill
build files under Scala 3
Using `constrained` on a TypeLambda means adding one TypeLambda for all
the type parameters in tp1, while newTypeVar creates a TypeLambda for
each type parameter.
Instead of creating type vars, constraining against them, then
instantiating them, just instantiate the PolyType with the scrutinee
type args (or the lo/hi bound or bounded wildcard from the param).
Reuse SDKs generated in `build-sdk-package` job.
Store .sha256 for each of the files, instead of creating sha256.txt with
shas for the reach directory to ease validation
…klist (scala#21787)

Just noticed the ci issues. The actual changes in the .check files
concern `TypeRef(ThisType(TypeRef(NoPrefix(), "immutable")), "List")`
(read from byte code) being shown as
`TypeRef(TermRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix(),
"<root>")), "scala"), "collection"), "immutable"), "List")` (read from
tasty), which is expected and also happens in the other excluded tests

[test_scala2_library_tasty]
WojciechMazur and others added 30 commits December 10, 2024 15:40
…directory (scala#22199)

Fixes scala#22194 

Restores top-level directory `scala3-${version}` that is present in
artifacts published before Scala 3.6, removed during hotfix 3.6.1
release.
We now follow the [Well formed SDK archives
layout](https://github.com/sdkman/sdkman-cli/wiki/Well-formed-SDK-archives).
Removing the top-level directory even though at first glance looked like
an improvement was in fact introducing problems to multiple package
managers and build tools.

[Cherry-picked 5b3d82a]
**Problem**
It wasn't clear what action users was suppose to take to suppress
the new-from-3.6 Given search preference warning.

**Solution**
1. This refactors the code to give the warning an error code E205.
2. In case of warnings, tell the user to choose -source 3.5 vs 3.7,
   or use nowarn annotation.

[Cherry-picked 004cfc5]
Signed-off-by: Rui Chen <[email protected]>

[Cherry-picked 70cc1a1]
…o JLine 3.27.1 (was 3.27.0)" to 3.6 (scala#22271)

Backports scala#22205 to the 3.6.3.

PR submitted by the release tooling.
[skip ci]
…top-level directory " to 3.6 (scala#22272)

Backports scala#22199 to the 3.6.3.

PR submitted by the release tooling.
[skip ci]
…cala#22273)

Backports scala#22189 to the 3.6.3.

PR submitted by the release tooling.
[skip ci]
…props are replaced or mutated" to 3.6 (scala#22275)

Backports scala#22180 to the 3.6.3.

PR submitted by the release tooling.
[skip ci]
…2276)

Backports scala#21825 to the 3.6.3.

PR submitted by the release tooling.
Backports scala#22185 to the 3.6.3.

PR submitted by the release tooling.
[skip ci]
… 3.6 (scala#22277)

Backports scala#22227 to the 3.6.3.

PR submitted by the release tooling.
[skip ci]
…o 3.6 (scala#22278)

Backports scala#22228 to the 3.6.3.

PR submitted by the release tooling.
note that I added "dba Akka" to NOTICE.md but I don't believe it's
necessary to pollute the version history adding that to the top of
every source file, too. in legal contexts, "Lightbend, Inc." is still
the company's legal name
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.