From a2a8973b485ab9533dd2e34cdd939659ae03872b Mon Sep 17 00:00:00 2001 From: odersky Date: Wed, 6 Aug 2025 16:11:14 +0200 Subject: [PATCH 1/2] Refine isEffectivelyFinal to avoid no-owner crash Fixes #23637 --- compiler/src/dotty/tools/dotc/core/SymDenotations.scala | 2 +- tests/neg/i23637.check | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 tests/neg/i23637.check diff --git a/compiler/src/dotty/tools/dotc/core/SymDenotations.scala b/compiler/src/dotty/tools/dotc/core/SymDenotations.scala index 74a125e2a41e..b6e8dc9a2c76 100644 --- a/compiler/src/dotty/tools/dotc/core/SymDenotations.scala +++ b/compiler/src/dotty/tools/dotc/core/SymDenotations.scala @@ -1220,7 +1220,7 @@ object SymDenotations { || is(Inline, butNot = Deferred) || is(JavaDefinedVal, butNot = Method) || isConstructor - || !owner.isExtensibleClass && !is(Deferred) + || exists && !owner.isExtensibleClass && !is(Deferred) // Deferred symbols can arise through parent refinements under x.modularity. // For them, the overriding relationship reverses anyway, so // being in a final class does not mean the symbol cannot be diff --git a/tests/neg/i23637.check b/tests/neg/i23637.check new file mode 100644 index 000000000000..d568c04a31b7 --- /dev/null +++ b/tests/neg/i23637.check @@ -0,0 +1,6 @@ +-- [E083] Type Error: tests/neg/i23637.scala:6:9 ----------------------------------------------------------------------- +6 | export foo.pin.* // error: (because we need reflection to get at foo.pin) + | ^^^^^^^ + | (Test.foo.pin : Object) is not a valid export prefix, since it is not an immutable path + | + | longer explanation available when compiling with `-explain` From 04b08c628f00917a75bb21731b5ba5468dbf6e6b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Aug 2025 23:28:06 +0000 Subject: [PATCH 2/2] chore(deps): bump sdkman/sdkman-release-action Bumps [sdkman/sdkman-release-action](https://github.com/sdkman/sdkman-release-action) from 2800d4359ae097a99afea7e0370f0c6e726182a4 to c70225d437d17182d19476702b671513dc8bf048. - [Release notes](https://github.com/sdkman/sdkman-release-action/releases) - [Commits](https://github.com/sdkman/sdkman-release-action/compare/2800d4359ae097a99afea7e0370f0c6e726182a4...c70225d437d17182d19476702b671513dc8bf048) --- updated-dependencies: - dependency-name: sdkman/sdkman-release-action dependency-version: c70225d437d17182d19476702b671513dc8bf048 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-sdkman.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-sdkman.yml b/.github/workflows/publish-sdkman.yml index fbbada2a1a70..a3643aa59331 100644 --- a/.github/workflows/publish-sdkman.yml +++ b/.github/workflows/publish-sdkman.yml @@ -46,7 +46,7 @@ jobs: - platform: WINDOWS_64 archive : 'scala3-${{ inputs.version }}-x86_64-pc-win32.zip' steps: - - uses: sdkman/sdkman-release-action@2800d4359ae097a99afea7e0370f0c6e726182a4 + - uses: sdkman/sdkman-release-action@c70225d437d17182d19476702b671513dc8bf048 with: CONSUMER-KEY : ${{ secrets.CONSUMER-KEY }} CONSUMER-TOKEN : ${{ secrets.CONSUMER-TOKEN }}