File tree 2 files changed +15
-0
lines changed
compiler/src/dotty/tools/dotc/typer
2 files changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -1484,6 +1484,11 @@ class Typer extends Namer
1484
1484
case defn.MatchCase (patternTp, _) => tpt.tpe frozen_=:= patternTp
1485
1485
case _ => false
1486
1486
}
1487
+ case (id @ Ident (nme.WILDCARD ), pt) =>
1488
+ pt match {
1489
+ case defn.MatchCase (patternTp, _) => defn.AnyType frozen_=:= patternTp
1490
+ case _ => false
1491
+ }
1487
1492
case _ => false
1488
1493
}
1489
1494
Original file line number Diff line number Diff line change @@ -7,7 +7,17 @@ object Test0 {
7
7
def m [X ](x : X ): M [X ] = x match { case _ : String => 1 case _ : Any => " s" }
8
8
}
9
9
10
+ object Test1 {
11
+ type M [X ] = X match { case String => Int case Any => String }
12
+ def m [X ](x : X ): M [X ] = x match { case _ : String => 1 case _ => " s" }
13
+ }
14
+
10
15
object Test2 {
11
16
type M [X ] = X match { case String => Int case _ => String }
12
17
def m [X ](x : X ): M [X ] = x match { case _ : String => 1 case _ : Any => " s" }
13
18
}
19
+
20
+ object Test3 {
21
+ type M [X ] = X match { case String => Int case _ => String }
22
+ def m [X ](x : X ): M [X ] = x match { case _ : String => 1 case _ => " s" }
23
+ }
You can’t perform that action at this time.
0 commit comments