From be5720c18ca6768c7e72d4258677952848db2bb4 Mon Sep 17 00:00:00 2001 From: Nicolas Stucki Date: Wed, 1 Mar 2017 10:11:49 +0100 Subject: Add @tailrec to avoid regressions. --- compiler/src/dotty/tools/dotc/core/TypeErasure.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'compiler/src/dotty/tools/dotc/core/TypeErasure.scala') diff --git a/compiler/src/dotty/tools/dotc/core/TypeErasure.scala b/compiler/src/dotty/tools/dotc/core/TypeErasure.scala index ff99008bb..fc18808a3 100644 --- a/compiler/src/dotty/tools/dotc/core/TypeErasure.scala +++ b/compiler/src/dotty/tools/dotc/core/TypeErasure.scala @@ -10,6 +10,7 @@ import dotc.transform.ExplicitOuter._ import dotc.transform.ValueClasses._ import util.DotClass import Definitions.MaxImplementedFunctionArity +import scala.annotation.tailrec /** Erased types are: * @@ -244,7 +245,7 @@ object TypeErasure { case JavaArrayType(_) => defn.ObjectType case _ => val cls2 = tp2.classSymbol - def loop(bcs: List[ClassSymbol], bestSoFar: ClassSymbol): ClassSymbol = bcs match { + @tailrec def loop(bcs: List[ClassSymbol], bestSoFar: ClassSymbol): ClassSymbol = bcs match { case bc :: bcs1 => if (cls2.derivesFrom(bc)) if (!bc.is(Trait) && bc != defn.AnyClass) bc -- cgit v1.2.3