We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 05b102a commit 9b060ecCopy full SHA for 9b060ec
compiler/src/dotty/tools/dotc/core/TypeOps.scala
@@ -278,7 +278,15 @@ object TypeOps:
278
}
279
case AndType(tp11, tp12) =>
280
mergeRefinedOrApplied(tp11, tp2) & mergeRefinedOrApplied(tp12, tp2)
281
- case tp1: TypeParamRef if tp1 == tp2 => tp1
+ case tp1: TypeParamRef =>
282
+ tp2.stripTypeVar match
283
+ case tp2: TypeParamRef if tp1 == tp2 => tp1
284
+ case _ => fail
285
+ case tp1: TypeVar =>
286
+ tp2 match
287
+ case tp2: TypeVar if tp1 == tp2 => tp1
288
+ case tp2: TypeParamRef if tp1.stripTypeVar == tp2 => tp2
289
290
case _ => fail
291
292
tests/pos/i23032.scala
@@ -0,0 +1,2 @@
1
+def f[F[_], T, U]: F[T] | F[U] = ???
2
+def x = f.toString
0 commit comments