@@ -2005,10 +2005,15 @@ class TypeComparer(initctx: Context) extends ConstraintHandling[AbsentContext] {
2005
2005
intersecting(tp1.tp1, tp2) || intersecting(tp1.tp2, tp2)
2006
2006
case (_, tp2 : OrType ) =>
2007
2007
intersecting(tp1, tp2.tp1) || intersecting(tp1, tp2.tp2)
2008
+ case (tp1 : AndType , tp2 : AndType ) =>
2009
+ intersecting(tp1.tp1, tp2.tp1) && intersecting(tp1.tp2, tp2.tp2) ||
2010
+ intersecting(tp1.tp1, tp2.tp2) && intersecting(tp1.tp2, tp2.tp1)
2008
2011
case (tp1 : AndType , _) =>
2009
- intersecting(tp1.tp1, tp2) && intersecting(tp1.tp2, tp2) && intersecting(tp1.tp1, tp1.tp2)
2012
+ intersecting(tp1.tp1, tp2) && intersecting(tp1.tp2, tp2) ||
2013
+ intersecting(tp1.tp2, tp2) && intersecting(tp1.tp1, tp2)
2010
2014
case (_, tp2 : AndType ) =>
2011
- intersecting(tp1, tp2.tp1) && intersecting(tp1, tp2.tp2) && intersecting(tp2.tp1, tp2.tp2)
2015
+ intersecting(tp1, tp2.tp1) && intersecting(tp1, tp2.tp2) ||
2016
+ intersecting(tp1, tp2.tp2) && intersecting(tp1, tp2.tp1)
2012
2017
case (tp1 : TypeProxy , tp2 : TypeProxy ) =>
2013
2018
intersecting(tp1.underlying, tp2) && intersecting(tp1, tp2.underlying)
2014
2019
case (tp1 : TypeProxy , _) =>
0 commit comments