-
Notifications
You must be signed in to change notification settings - Fork 1.1k
[chore]: Synchronize language-reference-stable
with release 3.7.0
#23117
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
WojciechMazur
merged 529 commits into
scala:language-reference-stable
from
WojciechMazur:lrs/3.7.0
May 7, 2025
Merged
[chore]: Synchronize language-reference-stable
with release 3.7.0
#23117
WojciechMazur
merged 529 commits into
scala:language-reference-stable
from
WojciechMazur:lrs/3.7.0
May 7, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Adds `quotes.reflect.searchIgnoring` and `Expr.summonIgnoring` methods to allow summoning implicits/givens in macros while ignoring certain symbols
If a feature was previously experimental and is now standard, we change any tests for that feature to be only dependent on the source version where the feature was standardized. Language imports in old source versions will no longer enable the feature. (And these language imports also come with a deprecation message). If a feature was previously experimental and is now dropped, the feature becomes unavailable also in old versions. The motivation to do it this way is to insist that experimental features are ephemeral. We should not be able to rely on an experimental feature forever in an old version. This commit implements this policy for fewerBraces and clauseInterleaving. Two implemented extensions (relaxedExtensionImports, betterMatchTypeExtractors) already implemented it before.
possible fix for scala#21931 scala#22470 Attempt no. 2 for scala#21931
Normally do not infer NEWLINE within parens, but special case old syntax for conditionals, so that it can observe indented syntax. The mechanism is to inject an Indented region when parsing a parenthesized condition which is within an InParens region, such as an arg list. The effect is not to advance past EOL after `(true)`.
`adaptByResult` was introduced in 2015 in 54835b6 as a last step in overloading resolution: > Take expected result type into account more often for overloading resolution > > Previously, the expected result type of a FunProto type was ignored and taken into > account only in case of ambiguities. arrayclone-new.scala shows that this is not enough. > In a case like > > val x: Array[Byte] = Array(1, 2) > > we typed 1, 2 to be Int, so overloading resulution would give the Array.apply of > type (Int, Int*)Array[Int]. But that's a dead end, since Array[Int] is not a subtype > of Array[Byte]. > > This commit proposes the following modified rule for overloading resulution: > > A method alternative is applicable if ... (as before), and if its result type > is copmpatible with the expected type of the method application. > > The commit does not pre-select alternatives based on comparing with the expected > result type. I tried that but it slowed down typechecking by a factor of at least 4. > Instead, we proceed as usual, ignoring the result type except in case of > ambiguities, but check whether the result of overloading resolution has a > compatible result type. If that's not the case, we filter all alternatives > for result type compatibility and try again. In i21410.scala this means we end up checking: F[?U] <:< Int (where ?U is unconstrained, because the check is done without looking at the argument types) The problem is that the subtype check returning false does not mean that there is no instantiation of `?U` that would make this check return true, just that type inference was not able to come up with one. This could happen for any number of reason but commonly will happen with match types since inference cannot do much with them. We cannot avoid this by taking the argument types into account, because this logic was added precisely to handle cases where the argument types mislead you because adaptation isn't taken into account. Instead, we can approximate type variables in the result type to trade false negatives for false positives which should be less problematic here. Fixes scala#21410.
Overloading may create a temporary symbol via `Applications#resolveMapped`, but before this commit, this symbol did not carry the annotations from the original symbol. This meant in particular that `isInlineable` would always return false for them. This matters because during the course of overloading resolution we might call `ProtoTypes.Compatibility#constrainResult` which special-cases transparent inline methods. Fixes a regression in Monocle introduced in the previous commit. wip
The changes two commits ago were not enough to handle i21410b.scala because we end up checking: Tuple.Map[WildcardType(...), List] <: (List[Int], List[String]) which fails because a match type with a wildcard argument apparently only gets reduced when the match type case is not parameterized. To handle this more generally we use AvoidWildcardsMap to remove wildcards from the result type, but since we want to prevent false negatives we start with `variance = -1` to get a lower-bound instead of an upper-bound.
…1686) If a feature was previously experimental and is now standard, we change any tests for that feature to be only dependent on the source version where the feature was standardized. Language imports in old source versions will no longer enable the feature. (And these language imports also come with a deprecation message). If a feature was previously experimental and is now dropped, the feature becomes unavailable also in old versions. The motivation to do it this way is to insist that experimental features are ephemeral. We should not be able to rely on an experimental feature forever in an old version. This commit implements this policy for fewerBraces and clauseInterleaving. Two implemented extensions (relaxedExtensionImports, betterMatchTypeExtractors) already implemented it before.
We sometimes see that compiling test suites takes a long time or loops infinitely. Then the first problem is to find out which test source caused this behavior in the compiler. This can now be shown by turning on a new flag `debugPrintProgress` in `Run.scala`. If that flag is set to `true`, the compiler will print out each 10 seconds the list of currently compiled source files.
Normally do not infer NEWLINE within parens, but special case old syntax for conditionals, so that it can observe indented syntax. The mechanism is to inject an Indented region when parsing a parenthesized condition which is within an InParens region, such as an arg list. The effect is not to advance past EOL after `(true)`. Fixes scala#22608
…2500) LTS backports are done to https://github.com/scala/scala3-lts initially. When making a LTS release cutoff (RC1) we synchronize main repos (scala/scala3) branch (lts-3.3) are before creaing a release branch from it. After the release LTS repository is synchronized with the main repos latest release branch. The change allows to perform Scala 3 LTS nightly releses without need for excessive synchronization of the 2 repos
Low hanging fruit after: scala#21390. It seems useful to see the inferred "expected" type on holes, so this PR adds them to be visible on hover. <img width="692" alt="Screenshot 2024-08-23 at 14 16 17" src="https://github.com/user-attachments/assets/c89d4d5a-1d48-4419-9d9c-41e27eb332a1"> This won't be perfect, as we can't always infer the expected type as we'd like to (see: `InferExpectedTypeSuite#flatmap`, so I'm sure we want to introduce that at all. Side note: Probably we should write something different than `Expression type:` in hover here. cc: @tgodzik
UnrollDefinitions assumed that the body of `fromProduct` had a specific shape which is no longer the case with the dependent case class support introduced in the previous commit. This caused compiler crashes for tests/run/unroll-multiple.scala and tests/run/unroll-caseclass-integration This commit fixes this by directly generating the correct fromProduct in SyntheticMembers. This should also prevent crashes in situations where code is injected into existing trees like the code coverage support or external compiler plugins.
This accounts for singletons wrapping an ErasedValueType.
This lets us write: ```scala trait A: type B case class CC(a: A, b: a.B) ``` Pattern matching works but isn't dependent yet: ```scala x match case CC(a, b) => val a1: A = a // Dependent pattern matching is not currently supported // val b1: a1.B = b val b1 = b // Type is CC#a.B ``` (for my usecase this isn't a problem, I'm working on a type constraint API which lets me write things like `case class CC(a: Int, b: Int GreaterThan[a.type])`) Because case class pattern matching relies on the product selectors `_N`, making it dependent is a bit tricky, currently we generate: ```scala case class CC(a: A, b: a.B): def _1: A = a def _2: a.B = b ``` So the type of `_2` is not obviously related to the type of `_1`, we probably need to change what we generate into: ```scala case class CC(a: A, b: a.B): @uncheckedStable def _1: a.type = a def _2: _1.B = b ``` But this can be done in a separate PR. Fixes scala#8073.
…a#22618) Previously, inherited methods, even if accessed via static objects, were not able to be used in quotations, unless explicitly pointed to with a non-`this` prefix. This was due to the fact that during the cross-stage safety check, first the method itself was checked for if it was static (which for the inherited method, it was not), and if not, the prefix was checked further, erroring on any `this` tree found along the way. This was fixed by allowing `this` trees if they point to static objects. This way not only is the initial issue fixed, but also we are able to freely reference static methods with `this`, like `'{this.objectMethod}` (whereas previously, only `'{Object.objectMethod}` or `'{objectMethod}` were allowed, despite them all pointing to the same static method). Fixes scala#22592
Bumps [VirtusLab/scala-cli-setup](https://github.com/virtuslab/scala-cli-setup) from 1.6.1 to 1.6.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/virtuslab/scala-cli-setup/releases">VirtusLab/scala-cli-setup's releases</a>.</em></p> <blockquote> <h2>v1.6.2</h2> <h2>What's Changed</h2> <ul> <li>chore(deps-dev): Bump <code>@types/node</code> from 22.10.7 to 22.10.8 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/727">VirtusLab/scala-cli-setup#727</a></li> <li>chore(deps-dev): Bump <code>@types/node</code> from 22.10.8 to 22.10.10 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/728">VirtusLab/scala-cli-setup#728</a></li> <li>chore(deps-dev): Bump <code>@stylistic/eslint-plugin</code> from 2.13.0 to 3.0.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/730">VirtusLab/scala-cli-setup#730</a></li> <li>chore(deps-dev): Bump eslint from 9.18.0 to 9.19.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/729">VirtusLab/scala-cli-setup#729</a></li> <li>chore(deps-dev): Bump eslint-plugin-github from 5.1.5 to 5.1.6 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/734">VirtusLab/scala-cli-setup#734</a></li> <li>chore(deps-dev): Bump <code>@typescript-eslint/eslint-plugin</code> from 8.21.0 to 8.22.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/731">VirtusLab/scala-cli-setup#731</a></li> <li>chore(deps-dev): Bump <code>@types/node</code> from 22.10.10 to 22.12.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/732">VirtusLab/scala-cli-setup#732</a></li> <li>chore(deps-dev): Bump <code>@typescript-eslint/parser</code> from 8.21.0 to 8.22.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/733">VirtusLab/scala-cli-setup#733</a></li> <li>chore(deps-dev): Bump <code>@stylistic/eslint-plugin</code> from 3.0.0 to 3.0.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/735">VirtusLab/scala-cli-setup#735</a></li> <li>chore(deps-dev): Bump eslint-plugin-github from 5.1.6 to 5.1.7 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/736">VirtusLab/scala-cli-setup#736</a></li> <li>chore(deps-dev): Bump <code>@types/node</code> from 22.12.0 to 22.13.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/737">VirtusLab/scala-cli-setup#737</a></li> <li>chore(deps-dev): Bump <code>@types/node</code> from 22.13.0 to 22.13.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/740">VirtusLab/scala-cli-setup#740</a></li> <li>chore(deps-dev): Bump <code>@typescript-eslint/eslint-plugin</code> from 8.22.0 to 8.23.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/738">VirtusLab/scala-cli-setup#738</a></li> <li>chore(deps-dev): Bump <code>@typescript-eslint/parser</code> from 8.22.0 to 8.23.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/739">VirtusLab/scala-cli-setup#739</a></li> <li>chore(deps-dev): Bump eslint-plugin-github from 5.1.7 to 5.1.8 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/741">VirtusLab/scala-cli-setup#741</a></li> <li>chore(deps-dev): Bump <code>@stylistic/eslint-plugin</code> from 3.0.1 to 3.1.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/742">VirtusLab/scala-cli-setup#742</a></li> <li>chore(deps-dev): Bump prettier from 3.4.2 to 3.5.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/743">VirtusLab/scala-cli-setup#743</a></li> <li>chore(deps-dev): Bump eslint from 9.19.0 to 9.20.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/744">VirtusLab/scala-cli-setup#744</a></li> <li>chore(deps-dev): Bump <code>@typescript-eslint/parser</code> from 8.23.0 to 8.24.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/746">VirtusLab/scala-cli-setup#746</a></li> <li>chore(deps-dev): Bump <code>@typescript-eslint/eslint-plugin</code> from 8.23.0 to 8.24.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/745">VirtusLab/scala-cli-setup#745</a></li> <li>chore(deps-dev): Bump eslint from 9.20.0 to 9.20.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/747">VirtusLab/scala-cli-setup#747</a></li> <li>Update ScalaCLI by <a href="https://github.com/github-actions"><code>@github-actions</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/748">VirtusLab/scala-cli-setup#748</a></li> <li>Update dist by <a href="https://github.com/github-actions"><code>@github-actions</code></a> in <a href="https://redirect.github.com/VirtusLab/scala-cli-setup/pull/749">VirtusLab/scala-cli-setup#749</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/VirtusLab/scala-cli-setup/compare/v1...v1.6.2">https://github.com/VirtusLab/scala-cli-setup/compare/v1...v1.6.2</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/VirtusLab/scala-cli-setup/commit/cafdb148305f582fe7017dbe02bbec29ce217b74"><code>cafdb14</code></a> Update dist (<a href="https://redirect.github.com/virtuslab/scala-cli-setup/issues/749">#749</a>)</li> <li><a href="https://github.com/VirtusLab/scala-cli-setup/commit/dde8b9be17a44e4545ef123c76ac8c5570cd19fb"><code>dde8b9b</code></a> Update scala-cli version to 1.6.2 (<a href="https://redirect.github.com/virtuslab/scala-cli-setup/issues/748">#748</a>)</li> <li><a href="https://github.com/VirtusLab/scala-cli-setup/commit/84852ccf89618177fc7dff897f161fd0b215ee3b"><code>84852cc</code></a> Merge pull request <a href="https://redirect.github.com/virtuslab/scala-cli-setup/issues/747">#747</a> from VirtusLab/dependabot/npm_and_yarn/eslint-9.20.1</li> <li><a href="https://github.com/VirtusLab/scala-cli-setup/commit/58bf505c9f2982bd6a28dfc20737e02476a411c0"><code>58bf505</code></a> chore(deps-dev): Bump eslint from 9.20.0 to 9.20.1</li> <li><a href="https://github.com/VirtusLab/scala-cli-setup/commit/90c9ba560b7beadd6568a16461d1a4811bbcc0b2"><code>90c9ba5</code></a> Merge pull request <a href="https://redirect.github.com/virtuslab/scala-cli-setup/issues/745">#745</a> from VirtusLab/dependabot/npm_and_yarn/typescript-esl...</li> <li><a href="https://github.com/VirtusLab/scala-cli-setup/commit/78391dce67a1e610ba2de1927d668d073a0fdb91"><code>78391dc</code></a> chore(deps-dev): Bump <code>@typescript-eslint/eslint-plugin</code></li> <li><a href="https://github.com/VirtusLab/scala-cli-setup/commit/a208cca8431e679894bb17cb8e34c592d7af68da"><code>a208cca</code></a> Merge pull request <a href="https://redirect.github.com/virtuslab/scala-cli-setup/issues/746">#746</a> from VirtusLab/dependabot/npm_and_yarn/typescript-esl...</li> <li><a href="https://github.com/VirtusLab/scala-cli-setup/commit/b009c68a49f61833564a7a0307df60c1324a5cad"><code>b009c68</code></a> chore(deps-dev): Bump <code>@typescript-eslint/parser</code> from 8.23.0 to 8.24.0</li> <li><a href="https://github.com/VirtusLab/scala-cli-setup/commit/a988f5b7dcea002696d10ddd25716b0bbc0cbc30"><code>a988f5b</code></a> Merge pull request <a href="https://redirect.github.com/virtuslab/scala-cli-setup/issues/744">#744</a> from VirtusLab/dependabot/npm_and_yarn/eslint-9.20.0</li> <li><a href="https://github.com/VirtusLab/scala-cli-setup/commit/7892d694d89bdcbb407932d57369243389227226"><code>7892d69</code></a> chore(deps-dev): Bump eslint from 9.19.0 to 9.20.0</li> <li>Additional commits viewable in <a href="https://github.com/virtuslab/scala-cli-setup/compare/v1.6.1...v1.6.2">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Unsafe is planned to be removed in future Java versions. Motivication: Makes it compile on JDK 23 refs: https://openjdk.org/jeps/471 Modification: Add `@nowarn("cat=deprecation")` Result: Compiles successfully on JDK 23
Fixes scala#12460 I shied away from making it an error, as that is a language change that violates the rule that extension methods are ordinary methods. There are other restrictions, but an extension always allows explicit invocation `m()(x)` that could leverage a default. The caret is wrong on the second test case (~todo~). Edit: span of default getter was union of first parameter and the param RHS, so that the synthetic position of the getter symbol was a point at the first parameter. Now the getter tree gets the span of the RHS. (That span is non-synthetic, but the definition is still synthetic. The name pos of a synthetic is the point.)
…cala#21510) A type alias of a tuple type should be printed without parenthesis. Closes scalameta/metals#6613
In SourceFile, files that do not exist are expected and related exceptions should be ignored. There are two relevant cases: scala> java.nio.file.Files.newInputStream(java.nio.file.FileSystems.getDefault().getPath("does-not-exist")) java.nio.file.NoSuchFileException: does-not-exist scala> java.nio.file.Files.newInputStream(java.nio.file.FileSystems.getDefault().getPath("regular-file-instead-of-directory/filename")) java.nio.file.FileSystemException: regular-file-instead-of-directory/filename: Not a directory Ideally, other I/O errors would be propagated to the caller. However, there is no reliable way to distinguish them based on the exceptions alone. In particular, the message cannot be checked, because it depends on the operating system and it is localized. Revert the addition of the check and just accept this. --- Resolves the following concrete bug: 0. Use an operating system that localizes strerror, like Debian. 1. Check out https://github.com/lichess-org/lila before lichess-org/lila@8610e6f 2. `LANGUAGE=fr sbt compile` 3. ICE with `java.nio.file.FileSystemException: lila/src/main/scala/future.scala: N'est pas un dossier` ([stacktrace](https://gist.github.com/ornicar/4a7b136d2220f4c1fd43e920956f67b4)) Not sure how to exercise locale dependent issues in a unit test. --- cc @som-snytt in case I misinterpreted 159da44 and distinguishing other I/O errors is not optional.
) Bumps [dev-hanz-ops/install-gh-cli-action](https://github.com/dev-hanz-ops/install-gh-cli-action) from 0.2.0 to 0.2.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dev-hanz-ops/install-gh-cli-action/releases">dev-hanz-ops/install-gh-cli-action's releases</a>.</em></p> <blockquote> <h2>v0.2.1 - arm64 support</h2> <ul> <li>support arm64 architecture - <a href="https://redirect.github.com/dev-hanz-ops/install-gh-cli-action/pull/10">dev-hanz-ops/install-gh-cli-action#10</a> (by <a href="https://github.com/whatthefinemanual"><code>@whatthefinemanual</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/dev-hanz-ops/install-gh-cli-action/commit/af38ce09b1ec248aeb08eea2b16bbecea9e059f8"><code>af38ce0</code></a> run build</li> <li><a href="https://github.com/dev-hanz-ops/install-gh-cli-action/commit/eef2976cedc1da9b4b4eafcdf96655455d55ac73"><code>eef2976</code></a> feature: Add multi architecture support (<a href="https://redirect.github.com/dev-hanz-ops/install-gh-cli-action/issues/10">#10</a>)</li> <li><a href="https://github.com/dev-hanz-ops/install-gh-cli-action/commit/2d19dc38f3a568abbd2a42dae05be5b83202f332"><code>2d19dc3</code></a> docs: update recomended action version (<a href="https://redirect.github.com/dev-hanz-ops/install-gh-cli-action/issues/8">#8</a>)</li> <li>See full diff in <a href="https://github.com/dev-hanz-ops/install-gh-cli-action/compare/v0.2.0...v0.2.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> > **Note** > Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
Backports scala#22843 to the 3.7.0-RC2. PR submitted by the release tooling.
…la#22930) Backports scala#22815 to the 3.7.0-RC2. PR submitted by the release tooling.
Backports scala#22814 to the 3.7.0-RC2. PR submitted by the release tooling.
…defs/vals are in the same package" to 3.7 (scala#22932) Backports scala#22759 to the 3.7.0-RC2. PR submitted by the release tooling.
…cala#21744)" This reverts commit 93af7b8, reversing changes made to 7d79c56.
…in 3.7.0 (scala#22940) This reverts scala#21744 in 3.7.0-RC2 as per scala#22713 (comment) discussion
Check trailing blank line at EOF for OUTDENT If EOF is preceded by only spaces on the last line, do not outdent because it will complain about alignment during an edit. Preserve EOF token when probing arrow EOL For REPL, `: x =>` at EOF sees an EOF in order to detect lambda eol.
…la#22942) Backports scala#22855 to 3.7.0-RC2
Make `scala.caps` a package instead of an object. The following are still under `scala.caps`, while staying `@experimental`: - The Capability trait, which will be stable in near future - The universal capture reference `cap` -- **now an object**. - The carrier trait for capture set parameters `CapSet` - The `Contains` trait: - Due to `given`s cannot be marked `@experimental`, an experimental `Contains` object was created instead, which contains the `containsImpl` given. - Exclusive capabilities annotations: `Mutable`, `SharedCapability` and `consume` - The _`Exists`_ trait is marked `deprecated`, but is required to build the current version of the compiler. It should be removed in the next version. - The `unsafe` object: - `untrackedCaptures` is moved into `caps.unsafe`. - Deprecated aliases `*` and `Cap` are **removed** The following are moved under the experimental `scala.caps.internal` object: - `capsOf` - `rootCapability`, `reachCapability` and `readOnlyCapability` - `refineOverride` Add documentation for `Capability` and some other experimental annotations. Tests are updated accordingly.
`scala.caps`` was an object until 3.6, it is a package from 3.7. Without special handling this would cause a TypeError to be thrown if a build has several versions of the Scala standard library on the classpath. This was the case for 29 projects in the open CB. These projects should be updated. But until that's the case we issue a warning instead of a hard failure.
…ble" to 3.7.0 (scala#22967) Backports scala#22849 and scala#22956.
1. Fix translation for named patterns where the selector is a single-element named tuple. We used to take the whole tuple as result (which is correct for unnamed patterns) but for named patterns we have to select the field instead. 2. Take account of named patterns in the refutability check. [Cherry-picked cb97658]
Fixes scala#22899 [Cherry-picked 583f75f]
[Cherry-picked ca80310]
…2995) Backports scala#22953 to the 3.7.0-RC2. PR submitted by the release tooling.
That is the commit that removed calls to `withStrictFloats(true)`, which have been the default since 1.9.0, and cannot be changed since 1.19.0. [Cherry-picked bac43a7]
With minimal changes to preserve the status quo. These are forward ports of compiler, library and build changes from the following upstream commits: * scala-js/scala-js@b38201c Drop support for non-strict floats. * scala-js/scala-js@82910a0 Move well-known names to a new object `WellKnownNames`. * scala-js/scala-js@53dc4fe Introduce `NewLambda` to synthesize instances of SAM types. * scala-js/scala-js@9481522 Rewrite old IR with `AnonFunctionN` references to use `NewLambda`. From the `NewLambda` commit, we only adapt the way we compile Scala function lambdas. We do not use `NewLambda` for arbitrary SAM types yet. This is left for a future, independent commit, as it is not required for correctness.
With minimal changes to preserve the status quo. These are forward ports of compiler, library and build changes from the following upstream commits: * scala-js/scala-js@b38201c Drop support for non-strict floats. * scala-js/scala-js@82910a0 Move well-known names to a new object `WellKnownNames`. * scala-js/scala-js@53dc4fe Introduce `NewLambda` to synthesize instances of SAM types. * scala-js/scala-js@9481522 Rewrite old IR with `AnonFunctionN` references to use `NewLambda`. From the `NewLambda` commit, we only adapt the way we compile Scala function lambdas. We do not use `NewLambda` for arbitrary SAM types yet. This is left for a future, independent commit, as it is not required for correctness. [Cherry-picked 12ca458][modified]
Backports scala#23026 to the 3.7.0-RC3. PR submitted by the release tooling.
d53b097
into
scala:language-reference-stable
29 checks passed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Synchronizes
language-reference-stable
after releaase 3.7.0.