File tree Expand file tree Collapse file tree 2 files changed +13
-1
lines changed
compiler/src/dotty/tools/dotc/typer Expand file tree Collapse file tree 2 files changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -668,7 +668,9 @@ class Typer(@constructorOnly nestingLevel: Int = 0) extends Namer
668
668
if ctx.mode.is(Mode .Pattern )
669
669
&& ! tree.isType
670
670
&& ! pt.isInstanceOf [ApplyingProto ]
671
- && ! tree.tpe.isStable
671
+ && ! tree.tpe.match
672
+ case tp : NamedType => tp.denot.hasAltWith(_.symbol.isStableMember && tp.prefix.isStable || tp.info.isStable)
673
+ case tp => tp.isStable
672
674
&& ! isWildcardArg(tree)
673
675
then
674
676
report.error(StableIdentPattern (tree, pt), tree.srcPos)
Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments