aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/src/dotty/tools/dotc')
-rw-r--r--compiler/src/dotty/tools/dotc/reporting/diagnostic/messages.scala11
-rw-r--r--compiler/src/dotty/tools/dotc/typer/ErrorReporting.scala6
2 files changed, 4 insertions, 13 deletions
diff --git a/compiler/src/dotty/tools/dotc/reporting/diagnostic/messages.scala b/compiler/src/dotty/tools/dotc/reporting/diagnostic/messages.scala
index ce3cb48ec..489165e56 100644
--- a/compiler/src/dotty/tools/dotc/reporting/diagnostic/messages.scala
+++ b/compiler/src/dotty/tools/dotc/reporting/diagnostic/messages.scala
@@ -899,15 +899,4 @@ object messages {
val msg = hl"trying to define package with same name as `$existing`"
val explanation = ""
}
-
- case class CyclicImplicitVal(cycleSym: Symbol)(implicit ctx: Context)
- extends Message(34) {
- val kind = "Cyclic Reference"
- val msg = em"cyclic reference involving $cycleSym"
- val explanation =
- hl"""|This happens when the right hand-side of $cycleSym's definition
- |involves an implicit search.
- |
- |To avoid the error, give $cycleSym an explicit type."""
- }
}
diff --git a/compiler/src/dotty/tools/dotc/typer/ErrorReporting.scala b/compiler/src/dotty/tools/dotc/typer/ErrorReporting.scala
index 5709bfbf9..a066fc04a 100644
--- a/compiler/src/dotty/tools/dotc/typer/ErrorReporting.scala
+++ b/compiler/src/dotty/tools/dotc/typer/ErrorReporting.scala
@@ -28,7 +28,7 @@ object ErrorReporting {
def cyclicErrorMsg(ex: CyclicReference)(implicit ctx: Context) = {
val cycleSym = ex.denot.symbol
- def errorMsg(msg: String, cx: Context): Message =
+ def errorMsg(msg: String, cx: Context): String =
if (cx.mode is Mode.InferringReturnType) {
cx.tree match {
case tree: untpd.ValOrDefDef =>
@@ -48,7 +48,9 @@ object ErrorReporting {
} else msg
if (cycleSym.is(Implicit, butNot = Method) && cycleSym.owner.isTerm)
- CyclicImplicitVal(cycleSym)
+ em"""cyclic reference involving implicit $cycleSym
+ |This happens when the right hand-side of $cycleSym's definition involves an implicit search.
+ |To avoid the error, give $cycleSym an explicit type."""
else
errorMsg(ex.show, ctx)
}