We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents 2be692d + e6012a0 commit ad6da48Copy full SHA for ad6da48
compiler/src/dotty/tools/dotc/typer/Typer.scala
@@ -673,7 +673,9 @@ class Typer(@constructorOnly nestingLevel: Int = 0) extends Namer
673
if ctx.mode.is(Mode.Pattern)
674
&& !tree.isType
675
&& !pt.isInstanceOf[ApplyingProto]
676
- && !tree.tpe.isStable
+ && !tree.tpe.match
677
+ case tp: NamedType => tp.denot.hasAltWith(_.symbol.isStableMember && tp.prefix.isStable || tp.info.isStable)
678
+ case tp => tp.isStable
679
&& !isWildcardArg(tree)
680
then
681
report.error(StableIdentPattern(tree, pt), tree.srcPos)
tests/pos/i18247.scala
@@ -0,0 +1,10 @@
1
+sealed trait Op
2
+object Op {
3
+ case object `==` extends Op
4
+}
5
+
6
+def t1(a: Op): true = {
7
+ a match {
8
+ case Op.`==` => true // was: won't compile
9
+ }
10
0 commit comments