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 6542dd5c2e25a70dd3da451924c339c8e5e4a4a8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Aug 2025 18:07:03 +0000 Subject: [PATCH 2/2] chore(deps): bump actions/checkout from 4 to 5 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/build-chocolatey.yml | 2 +- .github/workflows/build-msi.yml | 2 +- .github/workflows/build-sdk.yml | 2 +- .github/workflows/ci.yaml | 54 +++++++++++------------ .github/workflows/dependency-graph.yml | 2 +- .github/workflows/language-reference.yaml | 4 +- .github/workflows/lts-backport.yaml | 2 +- .github/workflows/scaladoc.yaml | 4 +- .github/workflows/spec.yml | 2 +- .github/workflows/stdlib.yaml | 32 +++++++------- .github/workflows/test-cc.yml | 2 +- .github/workflows/test-launchers.yml | 10 ++--- 12 files changed, 59 insertions(+), 59 deletions(-) diff --git a/.github/workflows/build-chocolatey.yml b/.github/workflows/build-chocolatey.yml index 9de87d8e5ad6..b52f5593f4e7 100644 --- a/.github/workflows/build-chocolatey.yml +++ b/.github/workflows/build-chocolatey.yml @@ -27,7 +27,7 @@ jobs: build: runs-on: windows-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Replace the version placeholder uses: richardrigutins/replace-in-files@v2 with: diff --git a/.github/workflows/build-msi.yml b/.github/workflows/build-msi.yml index 323bf94ba868..f3f0be2425e0 100644 --- a/.github/workflows/build-msi.yml +++ b/.github/workflows/build-msi.yml @@ -21,7 +21,7 @@ jobs: build: runs-on: windows-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: actions/setup-java@v4 with: distribution: 'adopt' diff --git a/.github/workflows/build-sdk.yml b/.github/workflows/build-sdk.yml index cd111df1a083..84d15a33896d 100644 --- a/.github/workflows/build-sdk.yml +++ b/.github/workflows/build-sdk.yml @@ -55,7 +55,7 @@ jobs: env: DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: actions/setup-java@v4 with: distribution: temurin diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c0e4d5784674..54643f9d0ec1 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -84,13 +84,13 @@ jobs: git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true - name: Checkout cleanup script - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Cleanup run: .github/workflows/cleanup.sh - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Add SBT proxy repositories run: cp -vf .github/workflows/repositories /root/.sbt/ ; true @@ -137,13 +137,13 @@ jobs: git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true - name: Checkout cleanup script - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Cleanup run: .github/workflows/cleanup.sh - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Add SBT proxy repositories run: cp -vf .github/workflows/repositories /root/.sbt/ ; true @@ -194,13 +194,13 @@ jobs: git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true - name: Checkout cleanup script - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Cleanup run: .github/workflows/cleanup.sh - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Add SBT proxy repositories run: cp -vf .github/workflows/repositories /root/.sbt/ ; true @@ -233,7 +233,7 @@ jobs: git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Test run: sbt ";scala3-bootstrapped/compile; scala3-bootstrapped/testCompilation; scala3-presentation-compiler/test; scala3-language-server/test" @@ -277,7 +277,7 @@ jobs: git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: build binary run: sbt "dist-win-x86_64/Universal/stage" @@ -323,13 +323,13 @@ jobs: git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true - name: Checkout cleanup script - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Cleanup run: .github/workflows/cleanup.sh - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Add SBT proxy repositories run: cp -vf .github/workflows/repositories /root/.sbt/ ; true @@ -378,13 +378,13 @@ jobs: git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true - name: Checkout cleanup script - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Cleanup run: .github/workflows/cleanup.sh - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Add SBT proxy repositories run: cp -vf .github/workflows/repositories /root/.sbt/ ; true @@ -435,13 +435,13 @@ jobs: git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true - name: Checkout cleanup script - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Cleanup run: .github/workflows/cleanup.sh - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Add SBT proxy repositories run: cp -vf .github/workflows/repositories /root/.sbt/ ; true @@ -492,13 +492,13 @@ jobs: git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true - name: Checkout cleanup script - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Cleanup run: .github/workflows/cleanup.sh - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Add SBT proxy repositories run: cp -vf .github/workflows/repositories /root/.sbt/ ; true @@ -545,13 +545,13 @@ jobs: git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true - name: Checkout cleanup script - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Cleanup run: .github/workflows/cleanup.sh - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Add SBT proxy repositories run: cp -vf .github/workflows/repositories /root/.sbt/ ; true @@ -597,13 +597,13 @@ jobs: git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true - name: Checkout cleanup script - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Cleanup run: .github/workflows/cleanup.sh - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Add SBT proxy repositories run: cp -vf .github/workflows/repositories /root/.sbt/ ; true @@ -655,13 +655,13 @@ jobs: git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true - name: Checkout cleanup script - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Cleanup run: .github/workflows/cleanup.sh - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: ${{ matrix.series.repository }} ref: ${{ matrix.series.branch }} @@ -714,13 +714,13 @@ jobs: git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true - name: Checkout cleanup script - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Cleanup run: .github/workflows/cleanup.sh - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Add SBT proxy repositories run: cp -vf .github/workflows/repositories /root/.sbt/ ; true @@ -772,13 +772,13 @@ jobs: git -c "http.https://github.com/.extraheader=" fetch --recurse-submodules=no "https://github.com/scala/scala3" && git reset --hard FETCH_HEAD || true - name: Checkout cleanup script - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Cleanup run: .github/workflows/cleanup.sh - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Add SBT proxy repositories run: cp -vf .github/workflows/repositories /root/.sbt/ ; true @@ -875,7 +875,7 @@ jobs: if: "failure() && github.event_name == 'schedule'" steps: - name: Checkout issue template - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Open an issue uses: JasonEtco/create-an-issue@v2 diff --git a/.github/workflows/dependency-graph.yml b/.github/workflows/dependency-graph.yml index 6a3f8174b2d7..ed1a84c2a63e 100644 --- a/.github/workflows/dependency-graph.yml +++ b/.github/workflows/dependency-graph.yml @@ -8,7 +8,7 @@ jobs: name: Update Dependency Graph runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: sbt/setup-sbt@v1 - uses: scalacenter/sbt-dependency-submission@v3 env: diff --git a/.github/workflows/language-reference.yaml b/.github/workflows/language-reference.yaml index 61a2768c51da..980d8507aa74 100644 --- a/.github/workflows/language-reference.yaml +++ b/.github/workflows/language-reference.yaml @@ -24,7 +24,7 @@ jobs: run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: path: 'dotty' fetch-depth: 0 @@ -49,7 +49,7 @@ jobs: - name: Push changes to scala3-reference-docs if: github.event_name == 'push' - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: lampepfl/scala3-reference-docs fetch-depth: 0 diff --git a/.github/workflows/lts-backport.yaml b/.github/workflows/lts-backport.yaml index 376b8817b35e..ad132bd8c0af 100644 --- a/.github/workflows/lts-backport.yaml +++ b/.github/workflows/lts-backport.yaml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 - uses: coursier/cache-action@v6 diff --git a/.github/workflows/scaladoc.yaml b/.github/workflows/scaladoc.yaml index d2e3071e765b..896a7f730254 100644 --- a/.github/workflows/scaladoc.yaml +++ b/.github/workflows/scaladoc.yaml @@ -28,7 +28,7 @@ jobs: steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -77,7 +77,7 @@ jobs: steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 diff --git a/.github/workflows/spec.yml b/.github/workflows/spec.yml index cf13174e1f8e..ebde8b5137d7 100644 --- a/.github/workflows/spec.yml +++ b/.github/workflows/spec.yml @@ -25,7 +25,7 @@ jobs: working-directory: ./docs/_spec steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 # Keep in sync with ./docs/_spec/Dockerfile - uses: ruby/setup-ruby@v1 diff --git a/.github/workflows/stdlib.yaml b/.github/workflows/stdlib.yaml index 47984f8d15ad..ce52cef74681 100644 --- a/.github/workflows/stdlib.yaml +++ b/.github/workflows/stdlib.yaml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -32,7 +32,7 @@ jobs: ##needs: [scala-library-nonbootstrapped] Add when we add support for caching here steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -50,7 +50,7 @@ jobs: needs : [scala3-compiler-nonbootstrapped, scala3-sbt-bridge-nonbootstrapped, scala-library-nonbootstrapped, scala3-library-nonbootstrapped] steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -68,7 +68,7 @@ jobs: ##needs: [scala-library-bootstrapped] Add when we add support for caching here steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -86,7 +86,7 @@ jobs: ##needs: [scala3-library-nonbootstrapped] Add when we add support for caching here steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -103,7 +103,7 @@ jobs: ##needs: [tasty-core-nonbootstrapped, scala3-library-nonbootstrapped] Add when we add support for caching here steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -120,7 +120,7 @@ jobs: ##needs: [scala3-compiler-nonbootstrapped] Add when we add support for caching here steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -137,7 +137,7 @@ jobs: ##needs: [scala3-library-bootstrapped] Add when we add support for caching here steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -154,7 +154,7 @@ jobs: ##needs: [tasty-core-bootstrapped, scala3-library-bootstrapped] Add when we add support for caching here steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -171,7 +171,7 @@ jobs: ##needs: [scala3-compiler-bootstrapped] Add when we add support for caching here steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -188,7 +188,7 @@ jobs: ##needs: [scala3-compiler-bootstrapped] Add when we add support for caching here steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -205,7 +205,7 @@ jobs: ##needs: [scala3-compiler-bootstrapped] Add when we add support for caching here steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -228,7 +228,7 @@ jobs: ##needs: [scala3-sbt-bridge-nonbootstrapped] Add when we add support for caching here steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -245,7 +245,7 @@ jobs: ##needs: [scala3-sbt-bridge-bootstrapped] Add when we add support for caching here steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -262,7 +262,7 @@ jobs: ##needs: [tasty-core-nonbootstrapped] Add when we add support for caching here steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 @@ -279,7 +279,7 @@ jobs: ##needs: [tasty-core-bootstrapped] Add when we add support for caching here steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 diff --git a/.github/workflows/test-cc.yml b/.github/workflows/test-cc.yml index 69996fb6d74e..5325f76affe6 100644 --- a/.github/workflows/test-cc.yml +++ b/.github/workflows/test-cc.yml @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Git Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - uses: sbt/setup-sbt@v1 - name: Test with Scala 2 library with CC TASTy run: ./project/scripts/sbt ";set ThisBuild/Build.scala2Library := Build.Scala2LibraryCCTasty ;scala3-bootstrapped/test" diff --git a/.github/workflows/test-launchers.yml b/.github/workflows/test-launchers.yml index 25bd5a4bf42f..436a0de7242e 100644 --- a/.github/workflows/test-launchers.yml +++ b/.github/workflows/test-launchers.yml @@ -13,7 +13,7 @@ jobs: if: (github.event_name == 'pull_request' && !contains(github.event.pull_request.body, '[skip ci]') ) || (github.event_name == 'workflow_dispatch' && github.repository == 'scala/scala3' ) steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 with: @@ -30,7 +30,7 @@ jobs: name: Deploy and Test on Linux ARM64 architecture runs-on: ubuntu-24.04-arm steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 with: @@ -49,7 +49,7 @@ jobs: if: (github.event_name == 'pull_request' && !contains(github.event.pull_request.body, '[skip ci]') ) || (github.event_name == 'workflow_dispatch' && github.repository == 'scala/scala3' ) steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 with: @@ -68,7 +68,7 @@ jobs: if: (github.event_name == 'pull_request' && !contains(github.event.pull_request.body, '[skip ci]') ) || (github.event_name == 'workflow_dispatch' && github.repository == 'scala/scala3' ) steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 with: @@ -87,7 +87,7 @@ jobs: if: (github.event_name == 'pull_request' && !contains(github.event.pull_request.body, '[skip ci]') ) || (github.event_name == 'workflow_dispatch' && github.repository == 'scala/scala3' ) steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up JDK 17 uses: actions/setup-java@v4 with: