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 with scala/scala3 LTS after release 3.3.5 #25

Merged
merged 52 commits into from
Jan 28, 2025

Conversation

WojciechMazur
Copy link

No description provided.

hamzaremmal and others added 30 commits December 9, 2024 12:34
Previously we only supported suspension in Typer and Inliner. In the added test
case this happens in PostTyper, but I've seen it happen in Mixin too.

Fixes scala#18517.

[Cherry-picked bac8781][modified]
Bumps [webrick](https://github.com/ruby/webrick) from 1.8.1 to 1.8.2.
- [Release notes](https://github.com/ruby/webrick/releases)
- [Commits](ruby/webrick@v1.8.1...v1.8.2)

---
updated-dependencies:
- dependency-name: webrick
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
[Cherry-picked 97455cf]
…pe (like a SkolemType)

When the SkolemType appears as the prefix of a TypeRef, we avoid it by going
using `qualifier` which is defined in QuotesImpl to widen skolem, but skolems
can appear in any position, and so before this change we would get a compiler
crash in the added test case where the skolem appears as the prefix of a
TermRef.

We fix this by adding fallback cases in the quotes pretty-printer, now for the
test case we get:

    Test.f.ho(((arg: <<SkolemType(693709097) does not have a corresponding extractor> does not have a source representation>.x.type) => arg))

Which isn't great, but better than a crash.

Maybe we should run `Type#deskolemized` on a type before trying to print it in
SourceCode/Extractors, but currently these files are intentionally defined to
not depend on compiler internals and do not have a `Context` so we cannot even
call `deskolemized` on them.

Alternatively, maybe SkolemType should be a tasty-reflect constructor but that
would also be a pretty big change.

[Cherry-picked 0ee8762][modified]
The added test case used to fail Ycheck:typer with the seemingly identicals:

    Found:    (a: (aa : A{type B = Int}), b: a.B): CCPoly[(aa : A{type B = Int})]
    Required: (a: (aa : A{type B = Int}), b: a.B): CCPoly[(aa : A{type B = Int})]

In fact one of the `aa` is a a TypeVar instantiated to `A {type B = Int }`. The
MethodType comparison failed the signature check because the `a.B` where `a` is
backed by a type variable had a stale signature cached.

Fixed by changing `isProvisional` to traverse ParamRefs.

[Cherry-picked c32e535][modified]
Always treat underscores as type bounds inside patterns, even when `ctx.settings.XkindProjector.value == "underscores"`.

Fixes scala#14952 and scala#21400.

[Cherry-picked 374cd4f][modified]
This is similar to how the regular compiler `.show` handles `infix` but using
explicit parens everywhere to not have to reimplement the precedence
logic (maybe quote type printing should just use `.show` eventually).

[Cherry-picked 936c009]
Co-authored-by: Wojciech Mazur <[email protected]>
[Cherry-picked f6bfa0a][modified]
[Cherry-picked dd47185][modified]
- Forward-ports changes to `publish_release` CI job from `release-3.6.1`
branch.
* Fix building SDK archives, don't use `build-sdk-packages` job that
produced artifacts in SNAPSHOT version
  * Fix typos introduced in template (forward port from `release-3.6.0`)
- Detect and check version used to publish artifacts: 
* For release builds ensure that `version` is always matching tag used
to trigger CI job
* For nightly builds ensure that `version` is following the expected
pattern

[Cherry-picked 34f1c54][modified]
Backports scala#20534 and scala#21221 to LTS. 
Requires adaptation - we don't produce native launchers and don't use
universal packager plugin

[test_chocolatey]

---------

Co-authored-by: Hamza Remmal <[email protected]>
…ire manual close and deploy of staging repository
SethTisue and others added 22 commits January 15, 2025 14:59
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
…o JLine 3.27.1 (was 3.27.0)" to LTS (scala#22377)

Backports scala#22205 to Scala 3.3.5-RC2 LTS
…end (scala#22403)

Fixes a bug in Scala settings after
scala#22111 which edited wrong
`ScalaSettings.scala` file - the backport to LTS updated max JDK version
in the `pos/compiler-with-cc` tests directory instead of the one in the
main sources.
* Remove JNA dependencies from dist scripts. 
* Add `jline-native` dependency (used by jline-terminal-jni)

Issue affected only Windows users - when executing the script the no
longer existing class path entries (jna-5, and jline-terminal-jna) were
reported with errors as not existing files

Fixes scala#22460 
Forward-portable to Scala Next legacy runner scripts
@WojciechMazur WojciechMazur merged commit e04ea4a into lts-3.3 Jan 28, 2025
39 checks passed
@WojciechMazur WojciechMazur deleted the sync/lts-3.3.5 branch January 28, 2025 16:14
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.

8 participants