diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/dotty/tools/dotc/core/ConstraintHandling.scala | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/src/dotty/tools/dotc/core/ConstraintHandling.scala b/src/dotty/tools/dotc/core/ConstraintHandling.scala index 530bbfce4..2e771faf2 100644 --- a/src/dotty/tools/dotc/core/ConstraintHandling.scala +++ b/src/dotty/tools/dotc/core/ConstraintHandling.scala @@ -245,24 +245,12 @@ trait ConstraintHandling { case bound: ErrorType => true case _ => - if (occursAtToplevel(param, bound)) fromBelow - else if (fromBelow) addLowerBound(param, bound) + if (fromBelow) addLowerBound(param, bound) else addUpperBound(param, bound) } finally addConstraintInvocations -= 1 } } - - private def occursAtToplevel(param: Type, tp: Type): Boolean = tp match { - case tp: PolyParam => - param == tp - case bound: TypeProxy => - occursAtToplevel(param, bound.underlying) - case bound: AndOrType => - occursAtToplevel(param, bound.tp1) || occursAtToplevel(param, bound.tp2) - case _ => - false - } def checkPropagated(msg: => String)(result: Boolean): Boolean = { if (result && addConstraintInvocations == 0) { |