diff options
Diffstat (limited to 'src/dotty/tools/dotc')
-rw-r--r-- | src/dotty/tools/dotc/core/Contexts.scala | 6 | ||||
-rw-r--r-- | src/dotty/tools/dotc/core/Types.scala | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/core/Contexts.scala b/src/dotty/tools/dotc/core/Contexts.scala index 635390ef5..b11e77ef2 100644 --- a/src/dotty/tools/dotc/core/Contexts.scala +++ b/src/dotty/tools/dotc/core/Contexts.scala @@ -170,7 +170,11 @@ object Contexts { if (implicitsCache == null ) implicitsCache = { val implicitRefs: List[TermRef] = - if (isClassDefContext) owner.thisType.implicitMembers + if (isClassDefContext) + try owner.thisType.implicitMembers + catch { + case ex: CyclicReference => Nil + } else if (isImportContext) importInfo.importedImplicits else if (isNonEmptyScopeContext) scope.implicitDecls else Nil diff --git a/src/dotty/tools/dotc/core/Types.scala b/src/dotty/tools/dotc/core/Types.scala index 141b29ab7..b8e0a48c1 100644 --- a/src/dotty/tools/dotc/core/Types.scala +++ b/src/dotty/tools/dotc/core/Types.scala @@ -2976,7 +2976,7 @@ object Types { val ex = new CyclicReference(denot) if (!(ctx.mode is typer.Mode.CheckCyclic)) { cyclicErrors.println(ex.getMessage) - for (elem <- ex.getStackTrace take 40) + for (elem <- ex.getStackTrace take 50) cyclicErrors.println(elem.toString) } ex |