aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/typer/Namer.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-12-12 12:40:51 +0100
committerMartin Odersky <odersky@gmail.com>2016-12-12 12:53:40 +0100
commite31a4856f1c35b889b775608836f7d6a6a4262d6 (patch)
treef8600415b3c67440598e261b44ca3fb51a9c3665 /compiler/src/dotty/tools/dotc/typer/Namer.scala
parent4c1bf42414b7f7ed99653fe841b032eb11864f2a (diff)
downloaddotty-e31a4856f1c35b889b775608836f7d6a6a4262d6.tar.gz
dotty-e31a4856f1c35b889b775608836f7d6a6a4262d6.tar.bz2
dotty-e31a4856f1c35b889b775608836f7d6a6a4262d6.zip
Better diagnosis for cyclic references caused by implicit search
Since we now allow to drop the explicit type of a local implicit val it can happen that this causes a cyclic reference, namely when the typechecking of the right-hand side involves an implicit search. It's unpractical and fragile to avoid this. Instead we give now a nice error message explaining the problem and how to fix it in source code.
Diffstat (limited to 'compiler/src/dotty/tools/dotc/typer/Namer.scala')
-rw-r--r--compiler/src/dotty/tools/dotc/typer/Namer.scala1
1 files changed, 0 insertions, 1 deletions
diff --git a/compiler/src/dotty/tools/dotc/typer/Namer.scala b/compiler/src/dotty/tools/dotc/typer/Namer.scala
index 4ca9f9e10..4bcdd5071 100644
--- a/compiler/src/dotty/tools/dotc/typer/Namer.scala
+++ b/compiler/src/dotty/tools/dotc/typer/Namer.scala
@@ -1001,7 +1001,6 @@ class Namer { typer: Typer =>
def missingType(modifier: String) = {
ctx.error(s"${modifier}type of implicit definition needs to be given explicitly", mdef.pos)
sym.resetFlag(Implicit)
-
}
if (sym is Implicit)
mdef match {