Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
3ce240e
Enable PC tests in test_windows_fast
hamzaremmal Sep 23, 2024
051f2cb
Filter opaque modifier from object documentation
HarrisL2 Sep 24, 2024
ab6d3e7
Add better error reporting for inlined non-immutable paths
HarrisL2 Sep 24, 2024
1ceb356
Make right assoc extx method fwd refs error
dwijnand Sep 24, 2024
2358056
Tighten java annot value parsing
dwijnand Sep 25, 2024
236cade
Handle suspension due to macro call completed in arbitrary phases
WojciechMazur Dec 5, 2024
e2b0ec8
Fix compilation
WojciechMazur Dec 5, 2024
82415ca
Allow export statements in AnyVal
hamzaremmal Sep 27, 2024
a4141dd
Bump webrick from 1.8.1 to 1.8.2 in /docs/_spec
dependabot[bot] Sep 30, 2024
65bbf78
Expr#show: Don't crash when the expression contains an unsupported ty…
WojciechMazur Dec 5, 2024
e8e3eab
Let show behave more robustly for Recheck
WojciechMazur Dec 5, 2024
15e4ee0
Localize TypeError handling in addRecheckedTypes
WojciechMazur Dec 5, 2024
e105bbc
Always rewrite empty List() to Nil
som-snytt Oct 2, 2024
1523e5f
fix `dotty.tools.dotc.config.Properties` scaladoc
xuwei-k Oct 2, 2024
4b90cf3
Fix incorrect caching with path-dependent types
WojciechMazur Dec 5, 2024
e57c77b
Add Staging Issue messages and QuotedTypeMissing message
WojciechMazur Dec 5, 2024
c65573b
Always treat underscores as type bounds inside patterns
WojciechMazur Dec 5, 2024
1dfafc9
Quotes type printing: take `infix` type modifier into account
smarter Oct 2, 2024
1b4a464
Make the test pass in LTS - int ops are not made infix in the LTS
WojciechMazur Dec 5, 2024
ddf22ff
REPL: JLine 3.27.0 (was 3.25.1)
SethTisue Oct 11, 2024
e056059
Scala 2.13.15 (was .14) (#21648)
WojciechMazur Dec 5, 2024
1050e39
Add zip and unzip to the CI
WojciechMazur Dec 5, 2024
fcec4a8
Fix and future-proof the CI release scripts (#21810)
WojciechMazur Dec 5, 2024
9ecbcfa
Use bash shell when using here-strings (#21817)
hamzaremmal Oct 20, 2024
a798851
Update CLA check server url domain from lightbend.com to contibute.ak…
WojciechMazur Dec 5, 2024
1400cbb
Follow redirects when checkting CLA
WojciechMazur Dec 5, 2024
0f04900
Merge pull request #1 from scala/backport-lts-3.3-21626
WojciechMazur Dec 6, 2024
901b78b
Merge pull request #2 from scala/backport-lts-3.3-21640
WojciechMazur Dec 6, 2024
c7c3320
Merge pull request #3 from scala/backport-lts-3.3-21639
WojciechMazur Dec 6, 2024
c6a0f59
Merge pull request #4 from scala/backport-lts-3.3-21641
WojciechMazur Dec 6, 2024
ffd7716
Merge pull request #5 from scala/backport-lts-3.3-21650
WojciechMazur Dec 6, 2024
7737555
Merge pull request #6 from scala/backport-lts-3.3-21651
WojciechMazur Dec 6, 2024
ebf1065
Merge pull request #7 from scala/backport-lts-3.3-21653
WojciechMazur Dec 6, 2024
31abd34
Merge pull request #8 from scala/backport-lts-3.3-21674
WojciechMazur Dec 6, 2024
0150109
Merge pull request #9 from scala/backport-lts-3.3-20494
WojciechMazur Dec 6, 2024
525bcd0
Merge pull request #10 from scala/backport-lts-3.3-21678
WojciechMazur Dec 6, 2024
a876da5
Merge pull request #11 from scala/backport-lts-3.3-21689
WojciechMazur Dec 6, 2024
4908534
Merge pull request #12 from scala/backport-lts-3.3-21691
WojciechMazur Dec 6, 2024
59de925
Merge pull request #13 from scala/backport-lts-3.3-21699
WojciechMazur Dec 6, 2024
667a565
Merge pull request #14 from scala/backport-lts-3.3-21711
WojciechMazur Dec 6, 2024
68fac7e
Merge pull request #15 from scala/backport-lts-3.3-21718
WojciechMazur Dec 6, 2024
dbff52c
Merge pull request #16 from scala/backport-lts-3.3-21726
WojciechMazur Dec 6, 2024
6f93d4e
Merge pull request #17 from scala/backport-lts-3.3-21752
WojciechMazur Dec 6, 2024
e524dcc
Merge pull request #18 from scala/backport-lts-3.3-21648
WojciechMazur Dec 6, 2024
5938b29
Merge pull request #19 from scala/backport-lts-3.3-21803
WojciechMazur Dec 6, 2024
5f13257
Merge pull request #20 from scala/backport-lts-3.3-21810
WojciechMazur Dec 6, 2024
bba2f0e
Merge pull request #21 from scala/backport-lts-3.3-21817
WojciechMazur Dec 6, 2024
80d111d
Merge pull request #22 from scala/backport-lts-3.3-22148
WojciechMazur Dec 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ RUN apt-get update && \
openjdk-17-jdk-headless \
openjdk-21-jdk-headless && \
(curl -fsSL https://deb.nodesource.com/setup_18.x | bash -) && \
apt-get install -y nodejs
apt-get install -y nodejs && \
apt-get install -y zip unzip


# Install sbt
Expand Down
44 changes: 31 additions & 13 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
test_non_bootstrapped:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2023-11-07
image: lampepfl/dotty:2024-10-18
options: --cpu-shares 4096
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
Expand Down Expand Up @@ -100,7 +100,7 @@ jobs:
test:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2023-11-07
image: lampepfl/dotty:2024-10-18
options: --cpu-shares 4096
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
Expand Down Expand Up @@ -175,7 +175,7 @@ jobs:
uses: actions/checkout@v4

- name: Test
run: sbt ";scala3-bootstrapped/compile; scala3-bootstrapped/testCompilation"
run: sbt ";scala3-bootstrapped/compile; scala3-bootstrapped/testCompilation; scala3-presentation-compiler-bootstrapped/test; scala3-language-server/test"
shell: cmd

- name: build binary
Expand Down Expand Up @@ -230,7 +230,7 @@ jobs:
name: MiMa
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2023-11-07
image: lampepfl/dotty:2024-10-18
options: --cpu-shares 4096
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
Expand Down Expand Up @@ -276,7 +276,7 @@ jobs:
community_build_a:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2023-11-07
image: lampepfl/dotty:2024-10-18
options: --cpu-shares 4096
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
Expand Down Expand Up @@ -330,7 +330,7 @@ jobs:
community_build_b:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2023-11-07
image: lampepfl/dotty:2024-10-18
options: --cpu-shares 4096
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
Expand Down Expand Up @@ -384,7 +384,7 @@ jobs:
community_build_c:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2023-11-07
image: lampepfl/dotty:2024-10-18
options: --cpu-shares 4096
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
Expand Down Expand Up @@ -438,7 +438,7 @@ jobs:
test_sbt:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2023-11-07
image: lampepfl/dotty:2024-10-18
options: --cpu-shares 4096
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
Expand Down Expand Up @@ -483,7 +483,7 @@ jobs:
test_java8:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2023-11-07
image: lampepfl/dotty:2024-10-18
options: --cpu-shares 4096
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
Expand Down Expand Up @@ -539,7 +539,7 @@ jobs:
publish_nightly:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2023-11-07
image: lampepfl/dotty:2024-10-18
options: --cpu-shares 4096
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
Expand Down Expand Up @@ -580,6 +580,14 @@ jobs:
echo "This build version: $ver"
echo "THISBUILD_VERSION=$ver" >> $GITHUB_ENV

- name: Check is version matching pattern
shell: bash
run: |
if ! grep -Eo "3\.[0-9]+\.[0-9]+-RC[0-9]+-bin-[0-9]{8}-[a-zA-Z0-9]{7}-NIGHTLY" <<< "${{ env.THISBUILD_VERSION }}"; then
echo "Version used by compiler to publish nightly release does not match expected pattern"
exit 1
fi

- name: Check whether not yet published
id: not_yet_published
continue-on-error: true
Expand All @@ -594,7 +602,7 @@ jobs:
nightly_documentation:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2023-11-07
image: lampepfl/dotty:2024-10-18
options: --cpu-shares 4096
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
Expand Down Expand Up @@ -648,7 +656,7 @@ jobs:
contents: write # for actions/create-release to create a release
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2023-11-07
image: lampepfl/dotty:2024-10-18
options: --cpu-shares 4096
volumes:
- ${{ github.workspace }}/../../cache/sbt:/root/.sbt
Expand Down Expand Up @@ -685,6 +693,16 @@ jobs:
- name: Add SBT proxy repositories
run: cp -vf .github/workflows/repositories /root/.sbt/ ; true

- name: Check compiler version
shell: bash
run : |
version=$(./project/scripts/sbt "print scala3-compiler-bootstrapped/version" | tail -n1)
echo "This build version: ${version}"
if [ "${version}" != "${{ env.RELEASE_TAG }}" ]; then
echo "Compiler version for this build '${version}', does not match tag: ${{ env.RELEASE_TAG }}"
exit 1
fi

- name: Prepare Release
run: |
./project/scripts/sbt dist/packArchive
Expand Down Expand Up @@ -740,7 +758,7 @@ jobs:
open_issue_on_failure:
runs-on: [self-hosted, Linux]
container:
image: lampepfl/dotty:2023-11-07
image: lampepfl/dotty:2024-10-18
needs: [nightly_documentation, test_windows_full]
# The `failure()` expression is true iff at least one of the dependencies
# of this job (including transitive dependencies) has failed.
Expand Down
2 changes: 1 addition & 1 deletion community-build/community-projects/scala-collection-compat
Submodule scala-collection-compat updated 69 files
+2 −0 .git-blame-ignore-revs
+22 −22 .github/workflows/ci.yml
+1 −0 .jvmopts
+2 −0 .mailmap
+12 −0 .scala-steward.conf
+11 −6 .scalafmt.conf
+2 −2 NOTICE
+36 −19 README.md
+2 −2 admin/scalafmt.sh
+1 −1 binary-compat/test/src/test/scala/BinaryCompaTest.scala
+67 −38 build.sbt
+65 −0 compat/jsNative/src/main/scala-2.11_2.12/scala/jdk/OptionConverters.scala
+121 −0 compat/jvm/src/main/scala-2.11_2.12/scala/jdk/OptionConverters.scala
+74 −0 compat/jvm/src/main/scala-2.11_2.12/scala/jdk/OptionShape.scala
+4 −4 compat/src/main/scala-2.11/scala/collection/compat/package.scala
+65 −0 compat/src/main/scala-2.11/scala/jdk/javaapi/CollectionConverters.scala
+409 −0 compat/src/main/scala-2.11/scala/util/Using.scala
+1 −1 compat/src/main/scala-2.11_2.12/scala/collection/compat/BuildFrom.scala
+4 −4 compat/src/main/scala-2.11_2.12/scala/collection/compat/CompatImpl.scala
+160 −14 compat/src/main/scala-2.11_2.12/scala/collection/compat/PackageShared.scala
+36 −0 compat/src/main/scala-2.11_2.12/scala/collection/compat/RandomExtensions.scala
+320 −0 compat/src/main/scala-2.11_2.12/scala/collection/compat/StringParsers.scala
+59 −55 compat/src/main/scala-2.11_2.12/scala/collection/compat/immutable/ArraySeq.scala
+71 −57 compat/src/main/scala-2.11_2.12/scala/collection/compat/immutable/LazyList.scala
+3 −2 compat/src/main/scala-2.11_2.12/scala/util/control/compat/ControlThrowable.scala
+30 −0 compat/src/main/scala-2.11_2.12/scala/util/matching/compat/package.scala
+5 −5 compat/src/main/scala-2.12/scala/collection/compat/package.scala
+65 −0 compat/src/main/scala-2.12/scala/jdk/javaapi/CollectionConverters.scala
+6 −6 compat/src/main/scala-2.12/scala/util/Using.scala
+18 −0 compat/src/main/scala-2.13/scala/util/matching/compat/package.scala
+55 −0 compat/src/test/scala-js/test/scala/jdk/OptionConvertersTest.scala
+89 −5 compat/src/test/scala-jvm/test/scala/collection/LazyListGCTest.scala
+37 −0 compat/src/test/scala-jvm/test/scala/collection/StringParsersJVMTest.scala
+97 −0 compat/src/test/scala-jvm/test/scala/jdk/OptionConvertersJVMTest.scala
+128 −0 compat/src/test/scala-jvm/test/scala/jdk/javaapi/CollectionConvertersTest.java
+24 −0 compat/src/test/scala-jvm/test/scala/jdk/javaapi/TestObjects.scala
+20 −20 compat/src/test/scala/scala/jdk/CollectionConvertersTest.scala
+165 −135 compat/src/test/scala/scala/util/UsingTest.scala
+26 −0 compat/src/test/scala/scala/util/matching/compat/RegexOpsTest.scala
+7 −0 compat/src/test/scala/test/scala/collection/ArraySeqTest.scala
+49 −0 compat/src/test/scala/test/scala/collection/AssertThrown.scala
+34 −34 compat/src/test/scala/test/scala/collection/BuildFromTest.scala
+60 −16 compat/src/test/scala/test/scala/collection/CollectionTest.scala
+6 −3 compat/src/test/scala/test/scala/collection/FactoryTest.scala
+63 −52 compat/src/test/scala/test/scala/collection/LazyListLazinessTest.scala
+14 −12 compat/src/test/scala/test/scala/collection/LazyListTest.scala
+5 −5 compat/src/test/scala/test/scala/collection/LazyZipTest.scala
+5 −5 compat/src/test/scala/test/scala/collection/MapTest.scala
+10 −38 compat/src/test/scala/test/scala/collection/MinMaxOptionTest.scala
+48 −0 compat/src/test/scala/test/scala/collection/OptionTest.scala
+3 −3 compat/src/test/scala/test/scala/collection/QueueTest.scala
+45 −1 compat/src/test/scala/test/scala/collection/SortedTest.scala
+305 −0 compat/src/test/scala/test/scala/collection/StringParsersTest.scala
+2 −2 compat/src/test/scala/test/scala/collection/ViewTest.scala
+34 −0 compat/src/test/scala/test/scala/util/RandomTest.scala
+12 −8 project/MultiScalaProject.scala
+13 −18 project/Version.scala
+1 −1 project/build.properties
+7 −7 project/plugins.sbt
+11 −11 scalafix/data/src/main/scala/fix/conversions/JavaConversionsDataSrc.scala
+52 −41 scalafix/rules/src/main/scala/scala/fix/collection/Breakout.scala
+24 −24 scalafix/rules/src/main/scala/scala/fix/collection/CanBuildFrom.scala
+3 −2 scalafix/rules/src/main/scala/scala/fix/collection/Collection213CrossCompat.scala
+24 −22 scalafix/rules/src/main/scala/scala/fix/collection/Collection213Experimental.scala
+3 −3 scalafix/rules/src/main/scala/scala/fix/collection/Collection213Roughly.scala
+3 −3 scalafix/rules/src/main/scala/scala/fix/collection/Collection213Upgrade.scala
+44 −41 scalafix/rules/src/main/scala/scala/fix/collection/Stable212Base.scala
+23 −23 scalafix/rules/src/main/scala/scala/fix/collection/package.scala
+1 −1 scalafix/tests/src/test/scala/fix/ScalafixTests.scala
2 changes: 1 addition & 1 deletion community-build/community-projects/stdLib213
Submodule stdLib213 updated 1560 files
4 changes: 2 additions & 2 deletions community-build/src/scala/dotty/communitybuild/projects.scala
Original file line number Diff line number Diff line change
Expand Up @@ -492,8 +492,8 @@ object projects:

lazy val scalaCollectionCompat = SbtCommunityProject(
project = "scala-collection-compat",
sbtTestCommand = "compat30/test",
sbtPublishCommand = "compat30/publishLocal",
sbtTestCommand = "compat3/test",
sbtPublishCommand = "compat3/publishLocal",
)

lazy val scalaJava8Compat = SbtCommunityProject(
Expand Down
21 changes: 17 additions & 4 deletions compiler/src/dotty/tools/dotc/ast/Desugar.scala
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import printing.Formatting.hl
import config.Printers

import scala.annotation.internal.sharable
import dotty.tools.dotc.util.SrcPos

object desugar {
import untpd.*
Expand Down Expand Up @@ -934,8 +935,8 @@ object desugar {
paramss match
case rightParam :: paramss1 => // `rightParam` must have a single parameter and without `given` flag

def badRightAssoc(problem: String) =
report.error(em"right-associative extension method $problem", mdef.srcPos)
def badRightAssoc(problem: String, pos: SrcPos) =
report.error(em"right-associative extension method $problem", pos)
extParamss ++ mdef.paramss

rightParam match
Expand All @@ -951,11 +952,23 @@ object desugar {
//
// If you change the names of the clauses below, also change them in right-associative-extension-methods.md
val (leftTyParamsAndLeadingUsing, leftParamAndTrailingUsing) = extParamss.span(isUsingOrTypeParamClause)

val names = (for ps <- mdef.paramss; p <- ps yield p.name).toSet[Name]

val tt = new untpd.UntypedTreeTraverser:
def traverse(tree: Tree)(using Context): Unit = tree match
case tree: Ident if names.contains(tree.name) =>
badRightAssoc(s"cannot have a forward reference to ${tree.name}", tree.srcPos)
case _ => traverseChildren(tree)

for ts <- leftParamAndTrailingUsing; t <- ts do
tt.traverse(t)

leftTyParamsAndLeadingUsing ::: rightTyParams ::: rightParam :: leftParamAndTrailingUsing ::: paramss1
else
badRightAssoc("cannot start with using clause")
badRightAssoc("cannot start with using clause", mdef.srcPos)
case _ =>
badRightAssoc("must start with a single parameter")
badRightAssoc("must start with a single parameter", mdef.srcPos)
case _ =>
// no value parameters, so not an infix operator.
extParamss ++ mdef.paramss
Expand Down
2 changes: 1 addition & 1 deletion compiler/src/dotty/tools/dotc/config/Properties.scala
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import java.io.IOException
import java.util.jar.Attributes.{ Name => AttributeName }
import java.nio.charset.StandardCharsets

/** Loads `library.properties` from the jar. */
/** Loads `compiler.properties` from the jar. */
object Properties extends PropertiesTrait {
protected def propCategory: String = "compiler"
protected def pickJarBasedOn: Class[PropertiesTrait] = classOf[PropertiesTrait]
Expand Down
17 changes: 11 additions & 6 deletions compiler/src/dotty/tools/dotc/core/Phases.scala
Original file line number Diff line number Diff line change
Expand Up @@ -333,15 +333,20 @@ object Phases {
for unit <- units do
given unitCtx: Context = runCtx.fresh.setPhase(this.start).setCompilationUnit(unit).withRootImports
if ctx.run.enterUnit(unit) then
try run
catch case ex: Throwable if !ctx.run.enrichedErrorMessage =>
println(ctx.run.enrichErrorMessage(s"unhandled exception while running $phaseName on $unit"))
throw ex
try
run
buf += unitCtx.compilationUnit
catch
case _: CompilationUnit.SuspendException => // this unit will be run again in `Run#compileSuspendedUnits`
case ex: Throwable if !ctx.run.enrichedErrorMessage =>
println(ctx.run.enrichErrorMessage(s"unhandled exception while running $phaseName on $unit"))
throw ex
finally ctx.run.advanceUnit()
buf += unitCtx.compilationUnit
end if
end for
buf.result()
val res = buf.result()
ctx.run.nn.checkSuspendedUnits(res)
res
end runOn

/** Convert a compilation unit's tree to a string; can be overridden */
Expand Down
3 changes: 3 additions & 0 deletions compiler/src/dotty/tools/dotc/core/Types.scala
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,9 @@ object Types extends TypeUtils {
!t.isPermanentlyInstantiated || test(t.permanentInst, theAcc)
case t: LazyRef =>
!t.completed || test(t.ref, theAcc)
case t: ParamRef =>
(t: Type).mightBeProvisional = false // break cycles
test(t.underlying, theAcc)
case _ =>
(if theAcc != null then theAcc else ProAcc()).foldOver(false, t)
end if
Expand Down
4 changes: 2 additions & 2 deletions compiler/src/dotty/tools/dotc/parsing/JavaParsers.scala
Original file line number Diff line number Diff line change
Expand Up @@ -363,8 +363,8 @@ object JavaParsers {
def annotation(): Option[Tree] = {
def classOrId(): Tree =
val id = qualId()
if in.lookaheadToken == CLASS then
in.nextToken()
if in.token == DOT && in.lookaheadToken == CLASS then
accept(DOT)
accept(CLASS)
TypeApply(
Select(
Expand Down
14 changes: 11 additions & 3 deletions compiler/src/dotty/tools/dotc/parsing/Parsers.scala
Original file line number Diff line number Diff line change
Expand Up @@ -429,6 +429,14 @@ object Parsers {
finally inEnum = saved
}

private var inMatchPattern = false
private def withinMatchPattern[T](body: => T): T = {
val saved = inMatchPattern
inMatchPattern = true
try body
finally inMatchPattern = saved
}

private var staged = StageKind.None
def withinStaged[T](kind: StageKind)(op: => T): T = {
val saved = staged
Expand Down Expand Up @@ -1857,7 +1865,7 @@ object Parsers {
if isSimpleLiteral then
SingletonTypeTree(simpleLiteral())
else if in.token == USCORE then
if ctx.settings.YkindProjector.value == "underscores" then
if ctx.settings.YkindProjector.value == "underscores" && !inMatchPattern then
val start = in.skipToken()
Ident(tpnme.USCOREkw).withSpan(Span(start, in.lastOffset, start))
else
Expand Down Expand Up @@ -2883,7 +2891,7 @@ object Parsers {
def caseClause(exprOnly: Boolean = false): CaseDef = atSpan(in.offset) {
val (pat, grd) = inSepRegion(InCase) {
accept(CASE)
(pattern(), guard())
(withinMatchPattern(pattern()), guard())
}
CaseDef(pat, grd, atSpan(accept(ARROW)) {
if exprOnly then
Expand All @@ -2907,7 +2915,7 @@ object Parsers {
val start = in.skipToken()
Ident(tpnme.WILDCARD).withSpan(Span(start, in.lastOffset, start))
case _ =>
rejectWildcardType(infixType())
withinMatchPattern(rejectWildcardType(infixType()))
}
}
CaseDef(pat, EmptyTree, atSpan(accept(ARROW)) {
Expand Down
2 changes: 2 additions & 0 deletions compiler/src/dotty/tools/dotc/reporting/ErrorMessageID.scala
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,8 @@ enum ErrorMessageID(val isActive: Boolean = true) extends java.lang.Enum[ErrorMe
case UnusedSymbolID // errorNumber: 198
case TailrecNestedCallID //errorNumber: 199 - unused in LTS
case FinalLocalDefID // errorNumber: 200
case NonNamedArgumentInJavaAnnotationID // errorNumber: 201 - unused in LTS
case QuotedTypeMissingID // errorNumber: 202

def errorNumber = ordinal - 1

Expand Down
2 changes: 2 additions & 0 deletions compiler/src/dotty/tools/dotc/reporting/MessageKind.scala
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ enum MessageKind:
case Compatibility
case PotentialIssue
case UnusedSymbol
case Staging

/** Human readable message that will end up being shown to the user.
* NOTE: This is only used in the situation where you have multiple words
Expand All @@ -39,5 +40,6 @@ enum MessageKind:
case MatchCaseUnreachable => "Match case Unreachable"
case PotentialIssue => "Potential Issue"
case UnusedSymbol => "Unused Symbol"
case Staging => "Staging Issue"
case kind => kind.toString
end MessageKind
Loading
Loading