-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Use jline bundle built against Java 8 #10889
Conversation
I haven't looked yet, but the comment at the end of that ticket says jline just fields the I wonder if jline should be a multi-release jar. Is a tool justified in assuming it can load a class file that is not versioned? The service loader shouldn't even see the class. |
@som-snytt thanks for surfacing scala/bug#12994 — I'd forgotten about it the JLine ticket with the most informative discussion is jline/jline3#937 @sideeffffect what symptoms are you seeing that show the need for this, what are the "unnecessary issues" you refer to? this is only the second complaint we've received, even though Scala 2.13.14 came out six months ago. what is your "pipeline" doing that is even noticing this? also, before merging this, I'd want to know what is the potential impact of excluding FFM support. might that make the REPL work less well for some users? |
AFAIK we're not using any of this newly introduced functionality. We should be safe to switch to the jdk8 variant 🤞 |
thank you! I did not know this existed |
…27.1 (was 3.27.0) (#22205) as per the https://github.com/jline/jline3 readme and as per discussion and linked items on #22201 fixes #22201 note that as far as I can tell, the stuff I removed from libexec/common-shared is dead code @philwalk dunno if you're still around but judging from #12405 you might be a good reviewer here note that I believe we _don't_ need to also port scala/scala#10889 here, since we are already using separate JLine JARs rather than the all-in-one JAR I've chosen not to upgrade all the way to JLine 3.28.0 at the moment, as it is quite new (2 days ago) and doesn't appear to have any fixes that might be critical.
commit 6b2b8819191891f2057a1e11bda45035a4ca03ad Author: Wojciech Mazur <[email protected]> Date: Wed Mar 5 23:05:41 2025 +0100 Release 3.6.4 commit 4377e99063c4bf7cbe81cac91dd4dff1a476f63c Author: Wojciech Mazur <[email protected]> Date: Wed Mar 5 23:03:29 2025 +0100 Add changelog for 3.6.4 commit 9d7f439403feb3c87b98bf26892600a5038c92ac Author: Wojciech Mazur <[email protected]> Date: Wed Feb 26 10:42:08 2025 +0100 Release 3.6.4-RC2 commit e3b2838214fe528b87341b7f4ca90875e07d4dec Author: Wojciech Mazur <[email protected]> Date: Wed Feb 26 10:41:12 2025 +0100 Add changelog for 3.6.4-RC2 commit 27a73e915acd080eba4ccb6d2feac4f605bda70e Author: Wojciech Mazur <[email protected]> Date: Mon Jan 20 16:17:04 2025 +0100 Fix chocolatey-test when used in stable releases commit b3a37387d97dd967af5701ed48295365c078ba9a Merge: bc3e415a818 e25316c24ad Author: Wojciech Mazur <[email protected]> Date: Wed Feb 26 10:33:46 2025 +0100 Revert "Drop phase.isTyper use in isLegalPrefix/asf" from Scala 3.6.4 (#22653) commit e25316c24ad01bc5629973be13ed314deb4878dd Author: Wojciech Mazur <[email protected]> Date: Mon Feb 24 14:55:38 2025 +0100 Adjust captures/lazylist test commit c4a18969d54d1fd3256efe0407ff4f74727e0446 Author: Wojciech Mazur <[email protected]> Date: Mon Feb 24 14:47:16 2025 +0100 Revert "Drop phase.isTyper use in isLegalPrefix/asf" This reverts commit 26ecda540b93fbe1fc7be030559a78dd2db364f2. commit bc3e415a8182c8529f138a781bb60e2ab76bc539 Author: Wojciech Mazur <[email protected]> Date: Thu Jan 16 13:09:44 2025 +0100 Release 3.6.4-RC1 commit b455651049118064b4b7cbc41a0e2a621bdd1830 Author: Wojciech Mazur <[email protected]> Date: Thu Jan 16 13:05:32 2025 +0100 Add changelog for 3.6.4-RC1 commit 47733321f2d537bb8f6cf8b660715dfb47b18cee Author: Wojciech Mazur <[email protected]> Date: Wed Jan 15 15:18:25 2025 +0100 [CI]: Replace deprecated `actions/create-release` and `actions/upload-release-assert` actions (#22176) Both of these actions were archived in 2021. In the future they're going to fail, due to deprecation of `set-output` command in GitHub actions. We replace their usage with a single `gh release create` command. It also allows us to simplify the workflow [skip ci] commit 312c89ab2cd62124d9d4437f46f9db5680b8296b Merge: 1bcc03c302b d5b5defe8b4 Author: odersky <[email protected]> Date: Tue Jan 14 15:24:22 2025 +0100 Fix #21841: Check more that an `unapplySeq` on a `NonEmptyTuple` is valid. (#22366) Review by @odersky because you seem to have been in the area recently with named tuples: https://github.com/scala/scala3/commit/0fbdb497c40aee5b3e17c22bf9030f55ddcc3bca commit 1bcc03c302b406e5081af47ec8ea569b7fdabc82 Author: Jędrzej Rochala <[email protected]> Date: Tue Jan 14 15:17:06 2025 +0100 Validate named patterns for case classes (#22242) I found out that there is no validation happening for named patterns of case classes. https://scastie.scala-lang.org/W4p7RBrySwuteISEPuqSUw There were 2 different things that blocked the errors: 1. We actually did not run `checkWellFormedTupleElems` in that scenario, 2. We run `tryAdaptPatternArgs` in `tryEither` which has nested context that does not report errors which are not sticky. commit d5b5defe8b41bbf249f853dd90dccfac35b36592 Author: Sébastien Doeraene <[email protected]> Date: Tue Jan 14 11:57:26 2025 +0100 Fix #21841: Check more that an `unapplySeq` on a `NonEmptyTuple` is valid. commit ad90f144450fb9311fd000a14d17ec298695e8a2 Merge: c10def4fe51 f6d6b172050 Author: odersky <[email protected]> Date: Tue Jan 14 10:15:48 2025 +0100 Fix crash when initializing val in ByName closure (#22354) This PR creates a new Env when evaluating a by name closure, fixing a crash due to duplicate initialization of the same value. commit c10def4fe518c9ff8c9da47524cd2b418e1a4ed1 Merge: 49839cd28a0 83ae00dded5 Author: odersky <[email protected]> Date: Mon Jan 13 21:55:26 2025 +0100 Handle TypeProxy of Named Tuples in unapply (#22325) Fixes #22150. Previously, there were several ways to check if something was a Named Tuple (`derivesFromNamedTuple`, `isNamedTupleType` and `NamedTuple.unapply`), this PR moves everything into `NamedTuple.unapply`. `namedTupleElementTypes` now takes an argument `derived` that when false will skip `unapply` (to avoid infinite recursion, used in desugaring and RefinedPrinter where trees can have invalid cycles). commit 49839cd28a0015879978a2f5ccbce8f0f5f65332 Merge: c5bf0e0c248 f6b49dfa13e Author: Oliver Bračevac <[email protected]> Date: Mon Jan 13 21:21:23 2025 +0100 Undo patch of double-block apply (#21982) Fixes #21382 commit c5bf0e0c248ed2d592204bfe4dc37d19147835ae Merge: af655c96157 f23f7c6fc4e Author: Dale Wijnand <[email protected]> Date: Mon Jan 13 18:57:09 2025 +0000 Detail selectionType usage in Inliner typedSelect (#22358) commit f6b49dfa13ef2c73949509bd4226fcd12bd55ab5 Author: Oliver Bračevac <[email protected]> Date: Mon Jan 13 15:55:58 2025 +0100 Revert ListBuffer construction in Rewrites.scala commit 83ae00dded56624fb840942825fc763bf8c5a008 Author: aherlihy <[email protected]> Date: Mon Jan 13 09:00:12 2025 -0500 Update rebased commit d42347f523c496a24a49e9dee05012e2320f6106 Author: aherlihy <[email protected]> Date: Fri Jan 10 17:10:38 2025 -0500 Re-add test that will pass when #22340 is merged commit f54f5d32b39c59d546c21937e99141ec12c19647 Author: aherlihy <[email protected]> Date: Fri Jan 10 16:56:48 2025 -0500 Revert "remove normalize and rely on stackoverflow" because test slowdown This reverts commit 2f03f86ba82b61e199c45eb4d4b7d04b7aa5f237. commit be88246a292c4c54e55bfe4e44410253b6eb4e24 Author: aherlihy <[email protected]> Date: Fri Jan 10 16:55:08 2025 -0500 remove normalize and rely on stackoverflow commit 5b31eda1b2ef24d16dd195eb5c60642d59f6b0bf Author: aherlihy <[email protected]> Date: Fri Jan 10 15:16:07 2025 -0500 Refactor check into NamedTuple.unapply for consistency commit 3d11e5e462b86ffa37c1945896faad38edcec1de Author: aherlihy <[email protected]> Date: Wed Jan 8 15:52:05 2025 -0500 Handle TypeProxy of Named Tuples, minimal fix without refactoring commit af655c961573287059810f9dd00af150db9e7cbd Author: Kacper Korban <[email protected]> Date: Mon Jan 13 13:50:47 2025 +0100 Append instead of prepending import selectors for the current scope when collecting them in CheckUnused (#22314) Also make the wildcard selectors exclusion-aware in CheckUnused closes #21420 commit f23f7c6fc4ef6f196922b4751308a16e0b5cc87b Author: Dale Wijnand <[email protected]> Date: Mon Jan 13 11:52:08 2025 +0000 Detail selectionType usage in Inliner typedSelect commit a5a9fc8ae605bb7d99ba346e7de5befa9696695c Merge: 74aa123442c 08fef874ca9 Author: odersky <[email protected]> Date: Mon Jan 13 12:02:47 2025 +0100 Fixes for isLegalPrefix change (#22241) Fixes #22062 Fixes #22068 Fixes #22070 commit 74aa123442c6f55921752d450299c7f84c40feac Author: Eugene Flesselle <[email protected]> Date: Fri Jan 10 17:32:15 2025 +0100 Drop `EmptyTuple` handling from `NamedTupleDecomposition.apply` We previously needed to handle the case where the result of `toTuple` was an `EmptyTuple` separately from the rest, since `apply` used to be only defined for `NonEmptyTuple`s. This was changed in #21291, making the inline match in `NamedTupleDecomposition.apply` no longer necessary. The underlying issue with the proxies introduced to handle opaque types with inline defs is likely still present. Nevertheless, it is probably best to fix this specific instance of the problem with NamedTuples as soon as possible. Fixes #22324 commit 5369d1a7fbdffb9518978b3528d4ee37360c75da Merge: af22ce2c5b5 c71b2539f97 Author: Guillaume Martres <[email protected]> Date: Mon Jan 13 11:50:03 2025 +0100 Rollback constraints in compareAppliedTypeParamRef (#22339) This PR adds a `rollbackConstraintsUnless` in `compareAppliedTypeParamRef`. It is required in case the call to `directionalIsSubType` introduces constraints and the call to `directionalRecur` returns `false`. Fixes #20519 commit af22ce2c5b53100ca4f93b24e3701bdeb8c96377 Merge: 492c0e679c2 dd6b6db7528 Author: Hamza Remmal <[email protected]> Date: Mon Jan 13 10:12:14 2025 +0100 Normalise the types for Type Mismatch Error (E007) (#22337) Closes #22333 commit 492c0e679c2f51f90d20251c3b07a752a087d1df Merge: ae980a75d4f 937bc4ceb32 Author: Hamza Remmal <[email protected]> Date: Mon Jan 13 09:54:55 2025 +0100 fix: correctly print litteral types in the refined printer (#22351) commit f6d6b1720504e70731a05c26e781cba52eaf720e Author: David Hua <[email protected]> Date: Mon Jan 13 02:19:41 2025 -0500 Fix crash when initializing val in ByName closure commit ae980a75d4f387f4c93bc055100d02e189065a02 Merge: 5176f9f2dec 2b6dac7d182 Author: Hamza Remmal <[email protected]> Date: Mon Jan 13 00:24:48 2025 +0100 fix: drop jackson-module-scala from CB (#22353) Closes #22350 FYI @WojciechMazur commit 2b6dac7d18219a0e4bc1b26b7d18301908e467dd Author: Hamza Remmal <[email protected]> Date: Mon Jan 13 00:23:20 2025 +0100 fix: drop jackson-module-scala from CB commit 937bc4ceb323185433da8b773ddb92c491a319a1 Author: Hamza Remmal <[email protected]> Date: Sun Jan 12 22:43:35 2025 +0100 fix: correctly print litteral types in the refined printer commit cc78467e3e1dcc0fbb5804e9e829808020fb2e1e Author: Som Snytt <[email protected]> Date: Fri Aug 16 09:03:21 2024 -0700 Undo patch of double-block apply If `f{}{}` is candidate for rewrite, unpatch it. We don't know exact spans, so just check endpoints to remove. commit 5176f9f2dec70633e6ecbf8583f8cd5182409f49 Merge: f06b95f1ddd 5134eed38a6 Author: Hamza Remmal <[email protected]> Date: Fri Jan 10 17:47:52 2025 +0100 Connect the input to the compiler in `sbt` (#22336) Closes #22239 commit c71b2539f97562fe5614e11930a6780d96ee6a97 Author: Matt Bovel <[email protected]> Date: Fri Jan 10 16:32:36 2025 +0000 Rollback constraints in compareAppliedTypeParamRef Co-authored-by: Guillaume Martres <[email protected]> commit dd6b6db752839f44039a49d1eeec00d2aaf872f3 Author: Hamza Remmal <[email protected]> Date: Fri Jan 10 15:31:36 2025 +0100 chore: normalise the types for Type Mismatch Error E007 commit 5134eed38a6a02a5ba0ffa95e87e7ab146bb5d83 Author: Hamza Remmal <[email protected]> Date: Fri Jan 10 15:07:46 2025 +0100 fix: connect the input to the compiler in sbt commit f06b95f1ddd195a3ef8c2e8947b40d8954aeacfb Author: Jan Chyb <[email protected]> Date: Fri Jan 10 13:39:53 2025 +0100 Fix coverage serialization when encountering macro suspension (#22303) Fixes #22247 The fix is simple, as we mainly move the coverage object to a global ContextBase object, which persists it between runs. Initially I thought that appending the newly generated coverage indices would be enough, but if the macro suspends after the InstrumentCoverage phase runs, we end up with duplicate indices. For that reason, when generating indexes for a compilation unit, we also remove the previously generated ones for the same compilation unit. To support having multiple scala files compiled in the coverage tests I had to slightly adjust the suite. While doing that, I noticed that some check files for run tests were ignored, as they were incorrectly named. I added an assertion that throws when `.check` do not exist and renamed the files appropriately (having to add some additional ones as well). commit a50a1e49a3475ddef205aac05cd7c67827b0dae5 Merge: 8af61b5d185 34e5d5675d1 Author: Seth Tisue <[email protected]> Date: Thu Jan 9 16:26:34 2025 -0600 Copyright 2025 (#22326) this should definitely be backported to all active branches commit 8af61b5d18532ac39346b14751c0c64e1213d6da Merge: 0677702aa4b bbdf3cb0466 Author: noti0na1 <[email protected]> Date: Thu Jan 9 20:28:11 2025 +0100 Move cc tests to captures subdirectories (#22331) commit bbdf3cb046639b4ca10d347a8b91efd8be77d864 Author: odersky <[email protected]> Date: Thu Jan 9 17:21:09 2025 +0100 Move cc tests to captures subdirectories commit 0677702aa4b73dea8740a66296423747fd9bf4ee Merge: 0ecc057b6b5 87e084e4dab Author: noti0na1 <[email protected]> Date: Thu Jan 9 15:10:42 2025 +0100 Partial Fix #21242: Add REPL init script setting (#22206) Partial fix #21242: Add REPL init script setting Test with flag at REPL startup: ```scala > ./bin/scalaQ --repl-init-script 'println("Hello from init script!"); val i = 2 * 2' [warning] MainGenericRunner class is deprecated since Scala 3.5.0, and Scala CLI features will not work. [warning] Please be sure to update to the Scala CLI launcher to use the new features. [warning] Check the Scala 3.5.0 release notes to troubleshoot your installation. Hello from init script! val i: Int = 4 Welcome to Scala 3.6.4-RC1-bin-SNAPSHOT-nonbootstrapped-git-5ea7c13 (17.0.12, Java OpenJDK 64-Bit Server VM). Type in expressions for evaluation. Or try :help. scala> ``` Test inside REPL: ```scala sbt:scala3> repl Welcome to Scala 3.6.4-RC1-bin-SNAPSHOT-nonbootstrapped-git-20e6f11 (17.0.12, Java OpenJDK 64-Bit Server VM). Type in expressions for evaluation. Or try :help. scala> :reset --repl-init-script:'println("Hello from init script!")' Resetting REPL state with the following settings: --repl-init-script:println("Hello from init script!") Hello from init script! scala> ``` scala-cli can use this flag to passing init code to REPL. commit 0ecc057b6b517fe822c0ff81244ff82e7559bbc3 Merge: 045434cc120 1fbaafcc12b Author: odersky <[email protected]> Date: Thu Jan 9 13:42:10 2025 +0100 Fail more eagerly when trying to adapt named unapply patterns (#22315) closes #22192 commit 045434cc1200062cc6f5c7283dc498e385ac04d9 Merge: add17971707 4892e8c3e74 Author: odersky <[email protected]> Date: Thu Jan 9 12:31:00 2025 +0100 Spec: Integrate the specification for match types. (#22164) Relevant section of the type definitions page:  and the full rendering of the Types page:  commit add1797170700e4c83d5baaca9b7075363f4ae9e Merge: d7dc2a64df0 898f95226f6 Author: Hamza Remmal <[email protected]> Date: Thu Jan 9 11:38:23 2025 +0100 Do not return java outline dummy constructor in `primaryConstructor` (#22104) Fixes #20052 Java outline parser phase for various reasons adds a dummy constructor to java classes compiling simultenously from scalac. Since they provide no information to the user and are overall misleading (with always having the same fake flags and parameters), we filter them out and return the first constructor that can be found in the source. This is also what happened up to this point when running the macro with a java classfile on the classpath instead, since those dummy constructors cannot be found there. commit d7dc2a64df0ecafee127d0f799da84e5674454ab Merge: 285cd4001e2 25d9611290a Author: Hamza Remmal <[email protected]> Date: Thu Jan 9 11:28:11 2025 +0100 Extend compiletime.testing.typechecks with certain transform phases (#21185) Adds transform phases to the `scala.compiletime.testing.typechecks` and `typeCheckErrors` methods. At first I attempted adding all of the pre-erasure transform phases (as suggested [here](https://github.com/scala/scala3/pull/11656)), but some caused issues (notably CrossVersionChecks, which in this configuration with the loaded symbols from current compilation could crash the compiler). Ultimately it's easier to add a few that are necessary, than filter out all of the unwanted ones. So I ended up with: * `InlineVals` - adding checks that while not necessary for the issue, I believe could still be useful * `ElimRepeated` - necessary for RefChecks * `RefChecks` - needed by the issue fixed here I made it so this can be easily extended with more MiniPhases/MegaPhases, if that is necessary. Fixes #18150 commit 34e5d5675d14199f1b288430c47c9972b2ffcf24 Author: Seth Tisue <[email protected]> Date: Wed Jan 8 15:25:02 2025 -0800 copyright 2025 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 commit 285cd4001e298b0c32dea7c8f007a9eef2606dd8 Merge: f8159a37d17 d3b9d767a4f Author: Hamza Remmal <[email protected]> Date: Wed Jan 8 16:13:34 2025 +0100 Fix inductive-implicits benchmark (#22007) The `inductive-implicits` benchmark fails on the benchmarks machine since April 2024: <img width="1261" alt="image" src="https://github.com/user-attachments/assets/2b53a1e8-5a5d-4c76-a795-b4733d975f5b"> This _should_ have been caught by the tests at: https://github.com/scala/scala3/blob/912b6f278b0fe5e7a25160612922cadf184acdbb/compiler/test/dotty/tools/dotc/BootstrappedOnlyCompilationTests.scala#L30 When I run `scala3-bootstrapped / testOnly dotty.tools.dotc.BootstrappedOnlyCompilationTests -- *posMacros` locally, the tests are indeed failing and the following error is printed: ```scala 64 | val sel = Selector[L, Boolean] | ^ |No given instance of type shapeless.Selector[Test.L, Boolean] was found for parameter selector of method apply in object Selector. |I found: | | shapeless.Selector.inTail[Int, | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int | :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int | :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: ...Int :: ... :: ... :: ..., | Boolean]( | shapeless.Selector.inTail[Int, | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int | :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: ...Int :: ... :: ... :: ..., | Boolean]( | shapeless.Selector.inTail[Int, | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: ...Int :: ... :: ... :: ..., | Boolean]( ... | ) | ) | ) | ) | ) | |But method inTail in object Selector does not match type shapeless.Selector[ | Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: Int :: | Boolean :: shapeless.HNil, |Boolean]. | |Note: method inTail in object Selector was not considered because it was not imported with `import given`. ``` It is not clear to me why the test does not fail on the CI. I checked that `dotty.tools.dotc.BootstrappedOnlyCompilationTests.posMacros` indeed runs there, and I confirm it is the case. Anyway, the fix is simple, we just need to import the implicits explicitly. This PR additionally removes the duplicate `tests/pos-deep-subtype/inductive-implicits-bench.scala`. commit 87e084e4dab871ea3787addea3b233dd152fe07a Author: noti0na1 <[email protected]> Date: Wed Jan 8 15:52:51 2025 +0100 Add a script test commit 00e07c46ff3c29ae053508bedac21d29ccdd930c Author: noti0na1 <[email protected]> Date: Wed Jan 8 15:44:13 2025 +0100 Update default value commit f8159a37d17501f503f2b15dec410c3c23333dcc Merge: ff448f9d6d0 a7b23d6f189 Author: noti0na1 <[email protected]> Date: Wed Jan 8 14:39:56 2025 +0100 Fix #22051: only trust the type application part for case class unapplies (#22099) Although the current local class implementation is still unsound, this PR should bring back the warning. Fix #22051 ```scala def boundary[T](body: (T => RuntimeException) => T): T = case class Break(value: T) extends RuntimeException try body(Break.apply) catch case Break(t) => t // error: pattern matching on local classes is unsound currently def test = boundary[Int]: EInt => val v: String = boundary[String]: EString => throw EInt(3) v.length // a runtime error: java.lang.ClassCastException ``` ```scala -- [E092] Pattern Match Unchecked Warning: tests/neg/i22051.scala:6:13 --------- 6 | catch case Break(t) => t // error: pattern matching on local classes is unsound currently | ^ |the type test for Break cannot be checked at runtime because it's a local class | | longer explanation available when compiling with `-explain` ``` commit ff448f9d6d038674ef761d06daf075c7b5b443aa Merge: ec0a310bece 1f2a8354cf2 Author: Hamza Remmal <[email protected]> Date: Wed Jan 8 14:00:07 2025 +0100 Align the spec to allow the marker (#22323) Closes #22322 commit 5ea7c13070145c62111f9cb230ec2c4c2190b43f Author: noti0na1 <[email protected]> Date: Fri Dec 13 12:53:50 2024 +0100 Add REPL init script setting commit ec0a310bececf4d85aaf60bfb6987dbf58b853e3 Merge: 15ea35bbb74 2ae14c270e7 Author: Hamza Remmal <[email protected]> Date: Wed Jan 8 12:59:16 2025 +0100 Add regression test for #22320 (#22321) This issue was found when running scala 3.6.2 code (latest stable version for now), but it seems that a fix was submitted in https://github.com/scala/scala3/pull/21527 (which will be available in 3.6.3) Closes #22320 commit 1f2a8354cf26a964797af2a5bd684485f68e78e2 Author: Hamza Remmal <[email protected]> Date: Wed Jan 8 11:49:48 2025 +0100 fix: align the spec to allow the marker commit 2ae14c270e7f8ec1d887fc851c79a236d1fd5661 Author: Hamza Remmal <[email protected]> Date: Wed Jan 8 11:29:25 2025 +0100 chore: add regression test for #22320 commit 15ea35bbb741614f0d6328d754ab05d5fb32243e Merge: dc0bb59e849 200548e1c3e Author: noti0na1 <[email protected]> Date: Wed Jan 8 02:59:20 2025 +0100 Fix #20512: Try implicit searching after finding dynamic select (#22318) Fix #20512 commit 200548e1c3e3b861090d2502a68c7bcacc057131 Author: noti0na1 <[email protected]> Date: Tue Jan 7 16:13:49 2025 +0100 Add test to pickling list commit 1f28390a5b2727658889d396e0fbbadc628d176f Author: noti0na1 <[email protected]> Date: Tue Jan 7 15:09:32 2025 +0100 Try implict searching after finding dynamic select commit dc0bb59e84926825a49b9dc3dbfcf58b91994802 Merge: d16453eca3c 82272587c45 Author: Seth Tisue <[email protected]> Date: Mon Jan 6 14:33:27 2025 -0600 fix: typo in documentation for Tuple.zip (#22313) ## Before ```scala /** Given two tuples, `(a1, ..., an)` and `(a1, ..., an)`, returns a tuple * `((a1, b1), ..., (an, bn))` ... */ ``` ## After ```scala /** Given two tuples, `(a1, ..., an)` and `(b1, ..., bn)`, returns a tuple * `((a1, b1), ..., (an, bn))` ... */ ``` commit d16453eca3cf6d4eb2e0cc38e32dd46a6da2529d Merge: 1448123ce79 aa44a3c564f Author: Sébastien Doeraene <[email protected]> Date: Mon Jan 6 17:52:22 2025 +0100 Tweak ExtensionNullifiedByMember (#22268) The warning accounted for an opaque receiver but not for opaque parameter types. This commit warns only if corresponding parameters are both opaque (or both transparent). The warning message about extensions that will _never_ be selected has limited generality. This commit addresses conversions to the receiver type. Maybe the correct fix is "never say never". Enhances the message noticed at #22267 Fixes #22279 commit 1fbaafcc12b1bc241c706fcb53f68d6b345916db Author: Kacper Korban <[email protected]> Date: Mon Jan 6 16:56:44 2025 +0100 Fail more eagerly when trying to adapt named unapply patterns commit 82272587c45afb3dd28dc75b77b875adb54403ce Author: xiaoshihou <[email protected]> Date: Mon Jan 6 08:47:42 2025 +0000 fix: typo in documentation for Tuple.zip commit 1448123ce79ac96cc1de25ee84fd9a1fb063f3ba Author: Jan Chyb <[email protected]> Date: Fri Jan 3 19:59:53 2025 +0100 Fix inline reduction for CaseDef guards with asInstanceOf (#22305) In Inliner.scala we add asInstanceOf to references to private inline methods to make sure we later are able to know which method is referenced (if e.g. we inline out of the scope where that method would be visible). This added asInstanceOf caused issue when inlining CaseDef guards, as instead of a simple constant literal we get an Inlined node with an added binding, like this: ```scala { val A_this: A = A_this.asInstanceOf[A] true:Boolean } ``` We fix that by just unpacking that Inlined node (and we do not need that binding for constant literals, so we can just ignore it). commit 1f0c576ce6d80138309dbba2e9972ee566ceac11 Merge: ca0c9026cae 9ba16020ba1 Author: Wojciech Mazur <[email protected]> Date: Tue Dec 31 15:00:45 2024 +0100 chore: Set referenceVersion to 3.6.3-RC2 (#22282) [test_non_bootstrapped] commit 9ba16020ba1c831a94e370b8703d87ffda38302f Author: Wojciech Mazur <[email protected]> Date: Mon Dec 30 23:45:22 2024 +0100 Set referenceVersion to 3.6.3-RC2 commit aa44a3c564f345e465af67cd8e8ef4c62d598d85 Author: Som Snytt <[email protected]> Date: Mon Dec 30 09:38:05 2024 -0800 ExtensionNullifiedByMember requires both opaque params commit ca0c9026cae44a1bfeb06fc2fe6e29753971c48a Merge: 4d3f7576cca e464c18bfe5 Author: Tomasz Godzik <[email protected]> Date: Mon Dec 30 10:40:05 2024 +0100 Scaladoc: add support for named tuples (#22263) Closes #22065 commit 0ae68cff08784d07eefa61a2fa2d1b4c0b26b62c Author: Som Snytt <[email protected]> Date: Sun Dec 29 11:36:46 2024 -0800 Tweak ExtensionNullifiedByMember commit e464c18bfe5d0abe9a2c99806796a23d5e34adb4 Author: Florian3k <[email protected]> Date: Mon Dec 23 22:29:38 2024 +0100 Scaladoc: add support for named tuples commit 4d3f7576ccae724e6f83d2f3d68bd4c4e1dd5a14 Merge: d50973b3d3f 5ac4d735b75 Author: odersky <[email protected]> Date: Mon Dec 23 21:27:47 2024 +0100 Refactor handling of rechecked types (#22229) - Always store new types on rechecking - Store them in a hashmap which is associated with the rechecker of the current compilation unit - After rechecking is done, the map is forgotten, unless keepTypes is true. Under keepTypes, the map is kept in an attachment of the unit's root tree. Change in nomenclature: knownType --> nuType rememberType --> setNuType hasRememberedType --> hasNuType commit 5ac4d735b75a3b3efe42542ea63cdcb396a2f5ab Author: odersky <[email protected]> Date: Mon Dec 23 18:31:04 2024 +0100 Drop unused type alias commit d50973b3d3f00080054ff7c08eb9a319c8d1b6de Merge: cd802dca87b 669972b5180 Author: Tomasz Godzik <[email protected]> Date: Fri Dec 20 23:44:28 2024 +0100 Documentation only: update Example code linked to obsolete content in macros-spec.md (#22256) An example code in macros-spec.md was updated in commit d8c9714, but staging.md is still referring the old code. This small change removes reference to old code. commit 669972b5180471291fbb54624185915e3b71c2f9 Author: Oleg Zenzin <[email protected]> Date: Fri Dec 20 13:10:48 2024 -0800 Update Example referring to updated macros-spec.md An example code in macros-spec.md was updated in commit d8c9714, but thisstaging.md is still referring the old code. This small change removes reference to old code. commit cd802dca87b132cfcc6063d6cad99bf83281e277 Merge: 3e627316cc6 479aff55177 Author: Sébastien Doeraene <[email protected]> Date: Fri Dec 20 16:39:11 2024 +0100 Update asm to patched 9.7.1 (#22250) See https://github.com/scala/scala/pull/10888 for some details on the patches. commit 3e627316cc62767511c368b062e1767d797d532e Author: Natsu Kagami <[email protected]> Date: Fri Dec 20 14:50:08 2024 +0100 REPL: Add back `:silent` command (#22248) commit 8a2961b90435df22d3f756d24f171e5086dbadca Merge: 0bfa1af8f47 ad6e19410f3 Author: Matt Bovel <[email protected]> Date: Fri Dec 20 14:43:51 2024 +0100 Fix presentation compiler testcases (#22253) This PR fixes the scala3-presentation-compiler-testcases dependency of scala3-presentation-compiler to be test-only. commit ad6e19410f3e13fa3d4ec83b58e71fd4feec744e Author: rochala <[email protected]> Date: Fri Dec 20 12:56:37 2024 +0100 Fix presentation compiler testcases commit 0bfa1af8f47c4d606da5517600564250f177c8b1 Merge: 7ae2d653ef7 31690d45237 Author: Seth Tisue <[email protected]> Date: Thu Dec 19 16:23:19 2024 -0800 Limit exposure to ConcurrentModificationException when sys props are replaced or mutated (#22180) port of https://github.com/scala/scala/commit/f6859f28bb49193fde83e6020a6a89ce926a91e8 to fix https://github.com/sbt/sbt/issues/7873 commit 479aff551774976037d6d5ad5ff9a9c8b1494f7c Author: philippus <[email protected]> Date: Thu Dec 19 22:31:55 2024 +0100 Update asm to patched 9.7.1 commit 7ae2d653ef78495db7b6a669ecb91024225a5f2e Merge: 0041987fdc1 e5e4c4039f7 Author: Wojciech Mazur <[email protected]> Date: Thu Dec 19 17:15:05 2024 +0100 REPL: JLine: follow recommendation to use JNI, not JNA; also JLine 3.27.1 (was 3.27.0) (#22205) as per the https://github.com/jline/jline3 readme and as per discussion and linked items on #22201 fixes #22201 note that as far as I can tell, the stuff I removed from libexec/common-shared is dead code @philwalk dunno if you're still around but judging from #12405 you might be a good reviewer here note that I believe we _don't_ need to also port https://github.com/scala/scala/pull/10889 here, since we are already using separate JLine JARs rather than the all-in-one JAR I've chosen not to upgrade all the way to JLine 3.28.0 at the moment, as it is quite new (2 days ago) and doesn't appear to have any fixes that might be critical. commit 0041987fdc19922ef0fabfe51f6f5621a9da54cf Author: Kacper Korban <[email protected]> Date: Thu Dec 19 16:21:35 2024 +0100 Implement `tracked` members (#21761) closes #21754 Allow for the `tracked` modifier to be used for `val` members of classes and traits. `tracked` members and members inheriting from `tracked` force the type of the member (or it's overriding member) to be as exact as possible. More precisely, it will will assign the `tracked` member the infered type of the rhs. For instance, consider the following definition: ```scala 3 trait F: tracked val a: Int tracked val b: Int class N extends F: val a = 22 // a.type =:= 22 val b: Int = 22 // b.type =:= Int tracked val c = 22 // c.type =:= 22 ``` Here, the `tracked` modifier ensures that the type of `a` in `N` is `22` and not `Int`. But the type of `b` is `N` is `Int` since it's explicitly declared as `Int`. `tracked` members can also be immediately initialized, as in the case of `c`. --------- Co-authored-by: Matt Bovel <[email protected]> Co-authored-by: odersky <[email protected]> commit 4b7f3212f0fa1a572a63924515dedb2192fc8785 Merge: bd1f00422cf 80d00f3f0f6 Author: Matt Bovel <[email protected]> Date: Thu Dec 19 10:58:38 2024 +0100 replace deprecated AnyRefMap (#22230) This PR replaces uses of `AnyRefMap` with `HashMap`. Both use `equals` and `hashCode` to compare values and compute keys. This change therefore preserves the semantic. See https://github.com/scala/scala/pull/10862 for the rational of deprecating ˋAnyRefMap`. commit 08fef874ca96dfcb3880f7dfc75fd6e89edcb6f6 Author: Dale Wijnand <[email protected]> Date: Wed Dec 18 15:08:56 2024 +0000 Refactor OpaqueProxy (de)construction commit bd1f00422cf740e6a73db31468efd6bf27d2550a Merge: 60b5dd1b891 442e6a09eae Author: Hamza Remmal <[email protected]> Date: Wed Dec 18 15:46:07 2024 +0100 Fix #22226: Use `classOf[BoxedUnit]` for Unit array in `ArrayConstructors`. (#22238) The `ArrayConstructors` phase rewrites array constructors to calls to `scala.runtime.Arrays.newArray`. When it does that, it must pass the run-time `jl.Class` of the element type. Previously, it used `classOf[Unit]` when creating an `Array[Unit]` (or nested). That is not correct, as from the Java perspective, we need to create `Array[BoxedUnit]`. We now identify `elemType <: Unit` and replace it with `BoxedUnit`. --- This highlights a limitation of the Scala.js backend. We should rewrite calls to `newArray` in the backend to use direct array creation instead. commit 56b60acbc975321a81e52abd5c88e1f785982f46 Author: Dale Wijnand <[email protected]> Date: Tue Dec 17 14:11:52 2024 +0000 Re-skolem type prefixes post-unpickling commit 3ac5f2def9222cdd25436f387ed6883d2d8687f4 Author: Dale Wijnand <[email protected]> Date: Thu Dec 12 16:51:27 2024 +0000 Teach AvoidMap to strip opaque alias refinements commit 442e6a09eae30c22aad559ecf520713056e86cec Author: Sébastien Doeraene <[email protected]> Date: Wed Dec 18 13:52:59 2024 +0100 Fix #22226: Use `classOf[BoxedUnit]` for Unit array in `ArrayConstructors`. The `ArrayConstructors` phase rewrites array constructors to calls to `scala.runtime.Arrays.newArray`. When it does that, it must pass the run-time `jl.Class` of the element type. Previously, it used `classOf[Unit]` when creating an `Array[Unit]` (or nested). That is not correct, as from the Java perspective, we need to create `Array[BoxedUnit]`. We now identify `elemType <: Unit` and replace it with `BoxedUnit`. --- This highlights a limitation of the Scala.js backend. We should rewrite calls to `newArray` in the backend to use direct array creation instead. commit 60b5dd1b891c94b167e278407f57e760c6f67456 Merge: ae8028524b3 54312c68e6d Author: Hamza Remmal <[email protected]> Date: Wed Dec 18 13:01:35 2024 +0100 fix: better error messages when an enum derives from AnyVal (#22236) Closes #21944 commit 54312c68e6dbd7335648d06357104a780fb78bf8 Author: Hamza Remmal <[email protected]> Date: Wed Dec 18 11:18:42 2024 +0100 fix: better error messages when an enum derives from AnyVal commit ae8028524b38558ebd0dd0efa0ff609d0933701c Merge: e52aea4982f ca3c7975ac6 Author: odersky <[email protected]> Date: Tue Dec 17 23:18:59 2024 +0100 Make sure symbols in annotation trees are fresh before pickling (#22002) In a nutshell: when mapping annotated types, we can currently end up with the same symbol being declared in distinct trees, which crashes the pickler as it expects each symbol to be declared in a single place. See https://github.com/scala/scala3/pull/19957#discussion_r1644920020 and https://github.com/scala/scala3/pull/19957#discussion_r1644921716 for more context. This PR ensures that all symbols in annotation trees are different by creating fresh symbols for all symbols in annotation tree during `PostTyper`. In my [previous attempt](https://github.com/scala/scala3/commit/ab70f18ae89bb547717dfd73a35de42939d62c16) which was discussed on #19957, I did it in `Annotations.mapWith`. Here, it's only done once in `PostTyper`, so this is more lightweight. Fixes #17939, fixes #19846 and fixes (partially?) #20272. commit 80d00f3f0f687bb0a6977c28d5f3f429de0d7b3f Author: xuwei-k <[email protected]> Date: Wed Dec 18 07:18:47 2024 +0900 replace deprecated AnyRefMap commit e52aea4982f041f76102891bdaf3b5c439a182ab Merge: 47f7d149011 2d2b2ad4b27 Author: odersky <[email protected]> Date: Tue Dec 17 23:07:55 2024 +0100 Resolve name when named imp is behind wild imps (#21888) When a named import (such as `import bug.util.List`) is defined before two clashing wildcard imports (`import bug.util.*; import java.util.*`) the name "List" should resolve to it, rather than a resolution error being emitted. This was due to the fact that `findRefRecur` didn't return the precedence at which it found that import, `checkImportAlternatives` used the `prevPrec` to `checkNewOrShadowed`. Now we check against the entire `foundResult`, allowing an early named import to be picked over later wildcard imports. Fixes #18529 (Replaces #21871) commit 4285536223705ade783502528914309ca142d959 Author: odersky <[email protected]> Date: Tue Dec 17 17:56:33 2024 +0100 Refactor handling of rechecked types - Always store new types on rechecking - Store them in a hashmap which is associated with the rechecker of the current compilation unit - After rechecking is done, the map is forgotten, unless keepTypes is true. Under keepTypes, then map is kept in an attachment of the unit's root tree. Change in nomenclature: knownType --> nuType rememberType --> setNuType hasRememberedType --> hasNuType commit 47f7d149011b727b083c411bbb76cb3c04cf3b65 Merge: 77376fedf1a 72848b3576e Author: Hamza Remmal <[email protected]> Date: Tue Dec 17 16:10:31 2024 +0100 fix: add sbt/setup-sbt for the dependency graph workflow (#22228) IT turns out that https://github.com/scalacenter/sbt-dependency-submission doesn't include sbt if it's missing Related to #22224 [skip ci] commit 72848b3576e94a5092a6927ee0ec450d15e6621d Author: Hamza Remmal <[email protected]> Date: Tue Dec 17 15:56:30 2024 +0100 fix: add sbt/setup-sbt for the dependency graph workflow commit 77376fedf1a9e24558b53a40ec90f57011c02186 Merge: 3f184c7715f 4961d1eaf21 Author: Hamza Remmal <[email protected]> Date: Tue Dec 17 15:10:14 2024 +0100 chore: use sbt/setup-sbt when using ubuntu-latest image (#22227) Closes #22224 commit 3f184c7715f62e74f76aa935f78f37881267b954 Merge: 6ae9548f64a c79b2121bf1 Author: noti0na1 <[email protected]> Date: Tue Dec 17 14:40:18 2024 +0100 Add a hint for using global language import with REPL (#22220) Fix #16250 commit 4961d1eaf219cbf920206ba1e15101a7cdc94eef Author: Hamza Remmal <[email protected]> Date: Tue Dec 17 13:12:35 2024 +0100 chore: use sbt/setup-sbt when using ubuntu-latest image commit 6ae9548f64a9c672e5104164fbb8cec40022685e Merge: 266253da287 d4d6cec68e0 Author: Tomasz Godzik <[email protected]> Date: Tue Dec 17 11:43:11 2024 +0100 use new infer expected type for singleton complations (#21421) commit 266253da2878eac30b370fbdefc57b61449e3598 Merge: 7dc5008e198 8b7c98c5da1 Author: odersky <[email protected]> Date: Tue Dec 17 10:19:13 2024 +0100 Merge -Xno-decode-stacktraces with -Xno-enrich-error-messages (#22208) The two mean very similar things and -Xno-enrich-error-messages is better documented, so more people will know to reach for it. Keep -Xno-decode-stacktraces as an alias for -Xno-enrich-error-messages for now in order to maintain backwards compatibility commit 8b7c98c5da12d68af82ef0df5f5da781b78102a7 Author: odersky <[email protected]> Date: Mon Dec 16 23:22:15 2024 +0100 Fix typo commit c79b2121bf11ffc2f8b668299c658bb2983bc55a Author: Yichen Xu <[email protected]> Date: Mon Dec 16 21:09:35 2024 +0100 Add repl tests commit 2e409e1f50796e2e869c32f4f551f4d0d7a97115 Author: Yichen Xu <[email protected]> Date: Mon Dec 16 21:09:24 2024 +0100 Fix the description commit 09375635d2869063f88cb28ec47b16284ac35d6d Author: odersky <[email protected]> Date: Mon Dec 16 13:31:12 2024 +0100 Also perform change in error messages commit 7dc5008e198225a8efcff33a0a32f1f15d06f017 Merge: da176c326fb 45f0d60e997 Author: Hamza Remmal <[email protected]> Date: Mon Dec 16 18:26:48 2024 +0100 in CI, use new standard scala/cla-checker action (#22203) commit 45f0d60e997b8553d56d52367469464d9769f398 Author: Seth Tisue <[email protected]> Date: Thu Dec 12 14:31:45 2024 -0800 in CI, use new standard scala/cla-checker action commit 958371ccb20ad55612d241f71a43e3063dec6328 Author: Yichen Xu <[email protected]> Date: Mon Dec 16 14:06:00 2024 +0000 Refine the hint commit ecccfc9631a97c94a0c23e7beab181ff84462a7c Author: Yichen Xu <[email protected]> Date: Mon Dec 16 14:04:38 2024 +0000 Add hint when found cc language import in repl commit da176c326fbad4468a7acdcc6fb5df2a80f0c46b Author: Kacper Korban <[email protected]> Date: Mon Dec 16 11:59:46 2024 +0100 Only count associated files of direct members of package objects in dropStale (#22190) possible fix for #17394 commit 2dbb27ced5267aebc2eae611f0a27c8da8ef4d6d Merge: 7573951106c e926badd7e7 Author: odersky <[email protected]> Date: Mon Dec 16 10:01:11 2024 +0100 Update Maintenance.md (#22209) New: Anna Herlihy for named tuples commit 9d36dd19666259e1a060358d42f5b1ee1119884e Author: odersky <[email protected]> Date: Sat Dec 14 19:44:51 2024 +0100 Fix ScalaSettingsTest commit e926badd7e7c9d5cf5473559769ad8dce0302c55 Author: odersky <[email protected]> Date: Sat Dec 14 18:09:18 2024 +0100 Update Maintenance.md New: Anna Herlihy for named tuples commit 5e54eba09f9a3ff71031324b00ba577c7255039b Author: odersky <[email protected]> Date: Sat Dec 14 18:07:24 2024 +0100 Merge -Xno-decode-stacktraces with -Xno-enrich-error-messages The two mean very similar things and -Xno-enrich-error-messages is better documented, so more people will know to reach for it. Keep -Xno-decode-stacktraces as an alias for -Xno-enrich-error-messages for now in order to maintain backwards compatibility commit 7573951106ceeee2d5bb532cff2cf9b657e23635 Merge: 20e6f11f4fe 004cfc5ed76 Author: noti0na1 <[email protected]> Date: Fri Dec 13 13:08:55 2024 +0100 Refactor: improve Given search preference warning (#22189) Fixes https://github.com/scala/scala3/issues/22153 Ref https://scala-lang.org/2024/08/19/given-priority-change-3.7.html ## 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. commit e5e4c4039f7e141209fdb7f845a2a6cfcb77821b Author: Seth Tisue <[email protected]> Date: Thu Dec 12 18:32:15 2024 -0800 JLine 3.27.1 (was 3.27.0) commit 0589be3356a274700bf7f69d709eb539c2d75f8b Author: Seth Tisue <[email protected]> Date: Thu Dec 12 18:07:29 2024 -0800 REPL: JLine: follow recommendation to use JNI, not JNA as per the https://github.com/jline/jline3 readme fixes #22201 commit 20e6f11f4fe47982259eba949eea78d65765142f Merge: 6b9f9f797e7 688ed4f168d Author: Guillaume Martres <[email protected]> Date: Thu Dec 12 21:20:06 2024 +0100 Do not lift annotation arguments (bis) (#22046) Completing #22035; we also need to special case `TypedApply`. However, we don't systemically create `NamedArgs` there if the annotation is not a Java annotation, hence the two sperate cases. commit 6b9f9f797e78f32b135b7cc6bc941e10d073dd7f Author: kasiaMarek <[email protected]> Date: Fri Dec 6 18:37:53 2024 +0100 Add type parameters derived from enum to default param getters of enum cases commit 5b3d82a41aafcaccab99bad95aa5a035a5dacabb Author: Wojciech Mazur <[email protected]> Date: Thu Dec 12 15:21:33 2024 +0100 Fix layout of released SDK archives, restore intermiediete top-level directory (#22199) Fixes #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. commit d685c0b5299ef1ec8697cd9eba20549b1a09eabc Merge: 74417916fd9 93ef8107c78 Author: Matt Bovel <[email protected]> Date: Thu Dec 12 11:46:27 2024 +0100 Remove tests/pos-with-compiler-cc from VSCode ignored files (#22198) Not needed anymore after #21956. commit 93ef8107c78d9a311f01716224130d7a7a5bd784 Author: Matt Bovel <[email protected]> Date: Thu Dec 12 10:17:29 2024 +0100 Remove tests/pos-with-compiler-cc from VSCode ignored files commit 74417916fd97990a77c80462758ab240e52aa586 Author: Wojciech Mazur <[email protected]> Date: Wed Dec 11 17:54:57 2024 +0100 Update reference, MiMa previous version and sync TASTy version (#22187) * Update reference version to 3.6.3-RC1 (from 3.6.0) * Update mima previous binary verison to 3.6.2 (instead of unofficial 3.6.1) * Set TASTy version to `28.7-experimental-1` - it should have been set when branching of 3.6.3. * We now document better how and when tasty version should be set * Add additional runtime test to ensure we don't emit invalid TASTy version during Release / NIGHTLY releases and the expected version set in build matches version defined in TastyFormat commit 91063dd9939ba26f30a538889162b6832cfc2c19 Merge: 30b3eb97640 70cc1a19da8 Author: Hamza Remmal <[email protected]> Date: Wed Dec 11 11:25:50 2024 +0100 fix: update `scala-cli.jar` path (#22185) update scala-cli.jar path ref per https://github.com/scala/scala3/pull/21427 seeing some test failure in https://github.com/Homebrew/homebrew-core/pull/200691 ``` Error: Unable to access jarfile /opt/homebrew/Cellar/scala/3.6.2/libexec/bin/scala-cli.jar ``` commit 004cfc5ed76ea34245ca30c9cc3872e86f9e6d5e Author: Eugene Yokota <[email protected]> Date: Wed Dec 11 01:32:40 2024 -0500 refactor: improve Given search preference warning **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. commit 30b3eb97640577d8fffd28d7e5ae3ec83473f7ca Merge: ee0dd7afd99 ecf9be9532b Author: Hamza Remmal <[email protected]> Date: Tue Dec 10 22:02:26 2024 +0100 [CI]: Fix Chocolatey publish workflow (#22182) [skip ci] Tested during hotfix release to Chocolatey during Scala 3.6.2 release: https://github.com/scala/scala3/actions/runs/12259635569/job/34202317793 commit 70cc1a19da85f502fc58c8f0ed4fbe6ff9444e7d Author: Rui Chen <[email protected]> Date: Tue Dec 10 15:38:45 2024 -0500 fix: update `scala-cli.jar` path Signed-off-by: Rui Chen <[email protected]> commit ecf9be9532b9bd4729f4a6ec7358ef59ff96246a Author: Wojciech Mazur <[email protected]> Date: Tue Dec 10 16:46:19 2024 +0100 Fix Chocolatey publish workflow commit ee0dd7afd990aa6f90f0dcbae8ad4fad80fdffd2 Merge: e6b4222df6b 200c038a818 Author: noti0na1 <[email protected]> Date: Tue Dec 10 16:20:38 2024 +0100 Fix #21619: Refactor NotNullInfo to record every reference which is retracted once. (#21624) This PR improves the flow typing for returning and exceptions. The `NotNullInfo` is defined as following now: ```scala case class NotNullInfo(asserted: Set[TermRef] | Null, retracted: Set[TermRef]): ``` * `retracted` contains variable references that are ever assigned to null; * if `asserted` is not `null`, it contains `val` or `var` references that are known to be not null, after the tree finishes executing normally (non-exceptionally); * if `asserted` is `null`, the tree is know to terminate, by throwing, returning, or calling a function with `Nothing` type. Hence, it acts like a universal set. `alt` is defined as `<a1,r1>.alt(<a2,r2>) = <a1 intersect a2, r1 union r2>`. The difficult part is the `try ... catch ... finally ...`. We don't know at which point an exception is thrown in the body, and the catch cases may be not exhaustive, we have to collect any reference that is once retracted. Fix #21619 commit 31690d45237fb6aab7e0474ee115d7bdfe8a0892 Author: João Ferreira <[email protected]> Date: Tue Dec 10 13:32:39 2024 +0000 improve javaBootClassPath lazy evaluation commit e6b4222df6b2239ea3a70894311fa658616266e1 Merge: 1775d0be938 483920640f0 Author: odersky <[email protected]> Date: Tue Dec 10 12:42:26 2024 +0100 Widen singleton types when computing fields from .Fields (#22149) Fixes #22018 commit 200c038a818ed41d8a07a18b540abd0748a99f12 Author: noti0na1 <[email protected]> Date: Tue Dec 10 12:24:34 2024 +0100 Comment on the empty cases in notNullInfoFromCases. commit 705c33ca9ca4ed01e8b11c7928468fbd2a267aa7 Author: João Ferreira <[email protected]> Date: Tue Dec 10 11:24:02 2024 +0000 Limit exposure to ConcurrentModificationException when sys props are replaced or mutated port of https://github.com/scala/scala/commit/f6859f28bb49193fde83e6020a6a89ce926a91e8 commit 1775d0be938fe78126600502f3c3c2e6d0429f9e Merge: c61897d7e78 045b92f8c40 Author: Dale Wijnand <[email protected]> Date: Mon Dec 9 21:03:57 2024 +0000 Type avoidance in MT bound inference (#22142) commit 4892e8c3e743dcd7fb2a1b5989ad3bb5baaeb8b1 Author: Sébastien Doeraene <[email protected]> Date: Mon Dec 9 10:37:50 2024 +0100 Spec: Integrate the specification for match types. commit 00430c042a9031059aefe638caba7c7e2e8c49f5 Author: noti0na1 <[email protected]> Date: Sat Dec 7 04:28:02 2024 +0100 Treat asserted set of terminated NotNullInfo as universal set; fix test commit 158af7deed473826b5d16ade6b9472fd89948b6d Author: noti0na1 <[email protected]> Date: Fri Dec 6 16:59:32 2024 +0100 Fix deep NotNullInfo commit f859afe8e4ace35e026600bb784664dcbcdbda98 Author: noti0na1 <[email protected]> Date: Fri Nov 1 09:07:18 2024 +0100 Add terminated info commit d44147bc6ff5496dab9cc1569274dfb4b673ee09 Author: noti0na1 <[email protected]> Date: Mon Oct 14 15:21:03 2024 +0200 Apply suggestions from code review Co-authored-by: Ondřej Lhoták <[email protected]> commit 05c630acf9dd8b2ecb98f34b1f40bfc8ddb55ce8 Author: noti0na1 <[email protected]> Date: Fri Oct 11 06:24:24 2024 +0200 Consider cases with Nothing type commit bcc9e68c778da3faa4dcb8b6c0258a48befff819 Author: noti0na1 <[email protected]> Date: Sun Sep 22 17:03:39 2024 +0200 Use a different rule for NotNullInfo commit 585dda9587bc95afb936eb18751fbf850cf3209c Author: noti0na1 <[email protected]> Date: Sat Sep 21 19:54:39 2024 +0200 Refactor NotNullInfo to record every reference which is retracted once. commit 483920640f016c7ccdb31144df7ca602d99297fa Author: odersky <[email protected]> Date: Thu Dec 5 16:45:53 2024 +0100 Widen singleton types when computing fields from .Fields Fixes #22018 commit c61897d7e78bfea283f5a2e37215c3b528e7684f Merge: 7d9771d983a 191535b8723 Author: Hamza Remmal <[email protected]> Date: Thu Dec 5 15:25:23 2024 +0100 Fix CLA checks after domain change of CLA check server (#22148) `https://www.lightbend.com/contribute/cla/scala/check/` now is a redirect to `https://contribute.akka.io/contribute/cla/scala/check`. It's breaking CLA check becouse curl by default does not follow redirects commit 191535b8723af53da834a72f99d71df134690370 Author: Wojciech Mazur <[email protected]> Date: Thu Dec 5 13:47:37 2024 +0100 Follow redirects when checkting CLA commit cb73df2809e1894ff0ce1183b92c63b11cfef38f Author: Wojciech Mazur <[email protected]> Date: Thu Dec 5 13:47:05 2024 +0100 Update CLA check server url domain from lightbend.com to contibute.akka.io commit 7d9771d983afdec4344d35642bcdf6adecd58a4b Author: Jan Chyb <[email protected]> Date: Thu Dec 5 13:01:08 2024 +0100 Do not bring forward symbols created in transform and backend phases (#21865) In the i21844 issue minimization, first the `Macro.scala` and `SuperClassWIthLazyVal.scala` compilation units are compiled, then in the next run `SubClass.scala` is compiled. While compiling `SuperClassWIthLazyVal.scala`, in the `LazyVals` transform phase, the lzyINIT initialization fields are created. In the next run, while compiling `SubClass.scala`, in the `GenBCode` phase, the compiler would try to access the lzyINIT symbol, leading to a stale symbols crash. While that symbol was a part of the SuperClass, it by design is not generated for the Subclass - if we were to completely split those files into 2 separate compilations, that symbol would be created only for the classfile, but it would not be included in tasty, so the second compilation would not try to access it. This observation inspires the proposed fix, where if the symbol was first created in or after the first transform phase (so after the pickler phases), we do not try to bring forward this denotation, instead returning NoDenotation. In this PR, we also remove the fix proposed in i21559, as it is no longer necessary with the newly added condition. There, since one of the problematic Symbols created in `LazyVals` was moved elsewhere in `MoveStatics`, we checked if that symbol could be found in a companion object. I was not able to create any reproduction where a user defined static would produce this problem, so I believe it’s safe to remove that. commit eb575a855a934a564f756c12a42edaa1dbce131f Merge: a67dbb054ef 44be1f976e9 Author: Hamza Remmal <[email protected]> Date: Thu Dec 5 11:48:21 2024 +0100 chore: trigger cc tests when changing one of the cc tests (#22098) We will now trigger the cc tests if one of the `captures` test is changed commit 984e6df9fe3e4307561b9cc869b1ad21edc150c7 Author: Dale Wijnand <[email protected]> Date: Thu Dec 5 09:47:45 2024 +0000 Fix ASF call in ResolveSuper commit a67dbb054ef665ed729f7b33fd9c4de4f76e0cbf Merge: 6a085900de6 115de9d85e8 Author: Tomasz Godzik <[email protected]> Date: Wed Dec 4 17:33:23 2024 +0100 fix match error in keyword completions (#22138) fixes: https://github.com/scalameta/metals/issues/6861 commit 045b92f8c40cd6c173a02b8e7e0f989810178a5e Author: Dale Wijnand <[email protected]> Date: Wed Dec 4 16:07:15 2024 +0000 Exclude testPickling difference commit fd7f451eeccfa8adb260d9b2cf86f47acfc1bc43 Author: Dale Wijnand <[email protected]> Date: Wed Dec 4 13:38:05 2024 +0000 Consider S a pseudo match alias Fixes tests/pos/i18211.scala, where type avoidance would cause `S[? <: Int]` which would otherwise be consider an unreducible wild and lead to Any which isn't <: Int. commit 2f6e60d5819873763609943962360c2f85f338bb Author: Dale Wijnand <[email protected]> Date: Wed Dec 4 13:36:55 2024 +0000 Add type avoidance to inferred MT bound lubbing commit de44d078ba68c1e0d503343a97b53195f5858ca1 Author: Dale Wijnand <[email protected]> Date: Wed Dec 4 13:35:57 2024 +0000 Introduce bindTypeSymbols utility in tpd.TreeOps commit 115de9d85e83ef0e0f0622db21dbe399c3e7d191 Author: kasiaMarek <[email protected]> Date: Wed Dec 4 13:49:27 2024 +0100 fix match error in keyword completions commit 898f95226f6c0766293cfd223f2996fe7d70d503 Author: Jan Chyb <[email protected]> Date: Tue Dec 3 19:27:32 2024 +0100 Do not return java outline dummy constructor in `primaryConstructor` Java outline parser phase for various reasons adds a dummy constructor to java classes compiling simultenously from scalac. Since they provide no information to the user and are overall misleading (with always having the same fake flags and parameters), we filter them out and return the first constructor that can be found in the source. This is also what happened up to this point when running the macro with a java classfile on the classpath instead, since those dummy constructors cannot be found there. commit 6a085900de69475ce7ccfd0b2b86b936e006ea20 Merge: a3425a9cd88 39f54dfdacc Author: Matt Bovel <[email protected]> Date: Wed Dec 4 09:32:40 2024 +0100 Add test cases project for presentation compiler (#22101) This PR adds a mechanism to test the presentation compiler with snippets using arbitrary pre-compiled files. To do so, it adds a new project `scala3-presentation-compiler-testcases`, compiled with the bootstrapped compiler, which is used as a dependency of `scala3-presentation-compiler`. The resulting class path is added to the `ideTestsDependencyClasspath` build info so that the test cases can be used from the presentation compiler tests. This PR also adds a test case for #20560. It shows that there is no hover info for the resulting type of a `transparent inline` macro when it fails to execute. However, the macro succeeds when loading the class `java.sql.Driver`, so that still doesn't tell us what the problem is with #20560… commit a3425a9cd8862735283abe5067d379aaf7926058 Merge: 8cfa37a999a 0650ed78807 Author: Hamza Remmal <[email protected]> Date: Tue Dec 3 21:01:39 2024 +0100 Bump vedantmgoyal9/winget-releaser from b87a066d9e624db1394edcd947f8c4e5a7e30cd7 to 4ffc7888bffd451b357355dc214d43bb9f23917e (#22067) Bumps [vedantmgoyal9/winget-releaser](https://github.com/vedantmgoyal9/winget-releaser) from b87a066d9e624db1394edcd947f8c4e5a7e30cd7 to 4ffc7888bffd451b357355dc214d43bb9f23917e. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/vedantmgoyal9/winget-releaser/commit/4ffc7888bffd451b357355dc214d43bb9f23917e"><code>4ffc788</code></a> docs(funding): remove ko-fi</li> <li><a href="https://github.com/vedantmgoyal9/winget-releaser/commit/a2ac6c7691dd063a6f6e782fdd11090f5ab45525"><code>a2ac6c7</code></a> docs: add maforget as a contributor for bug (<a href="https://redirect.github.com/vedantmgoyal9/winget-releaser/issues/310">#310</a>)</li> <li><a href="https://github.com/vedantmgoyal9/winget-releaser/commit/a3ac67b0c3026bc335a33b722188e3ec769d6a64"><code>a3ac67b</code></a> fix: version isn't deleted if it's the only version and max-versions-to-keep ...</li> <li>See full diff in <a href="https://github.com/vedantmgoyal9/winget-releaser/compare/b87a066d9e624db1394edcd947f8c4e5a7e30cd7...4ffc7888bffd451b357355dc214d43bb9f23917e">compare view</a></li> </ul> </details> <br /> 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> commit 39f54dfdaccd518a4ddd54ca228a836495b62d99 Author: Matt Bovel <[email protected]> Date: Tue Dec 3 16:22:20 2024 +0000 Add test cases for #20560 commit 75f1ec78e68739bb9064081f8651840b2fce9b74 Author: Matt Bovel <[email protected]> Date: Tue Dec 3 16:15:56 2024 +0000 Add test cases project for presentation compiler commit a7b23d6f1890ce31cf52b72848b559d7873c4213 Author: noti0na1 <[email protected]> Date: Tue Dec 3 16:11:36 2024 +0100 Move test to warn commit 67024a914784d5a912ce1ac2715cfd332eab7f35 Author: noti0na1 <[email protected]> Date: Tue Dec 3 15:28:09 2024 +0100 Only trust the type application part for case class unapplies commit 44be1f976e9d37ef18a5c776b5abc23f8bd773b7 Author: Hamza Remmal <[email protected]> Date: Tue Dec 3 14:45:00 2024 +0100 chore: trigger cc tests when changing one of the cc tests commit 8cfa37a999a296150c247af296e8fb2e35ef2559 Merge: d40009a1c6d f47d103eb9d Author: Seth Tisue <[email protected]> Date: Mon Dec 2 12:10:36 2024 -0800 Bump webrick from 1.8.2 to 1.9.1 in /docs/_spec (#22066) Bumps [webrick](https://github.com/ruby/webrick) from 1.8.2 to 1.9.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ruby/webrick/releases">webrick's releases</a>.</em></p> <blockquote> <h2>v1.9.1</h2> <h2>What's Changed</h2> <ul> <li>Block of server.start is optional by <a href="https://github.com/znz"><code>@znz</code></a> in <a href="https://redirect.github.com/ruby/webrick/pull/155">ruby/webrick#155</a></li> <li>Fix bugs and improve by <a href="https://github.com/znz"><code>@znz</code></a> in <a href="https://redirect.github.com/ruby/webrick/pull/152">ruby/webrick#152</a></li> <li>Bump step-security/ha…
The default jline bundle contains classes built against Java 22, which is causing unnecessary issues.
related: