diff options
author | Paul Phillips <paulp@improving.org> | 2012-02-13 23:09:39 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-02-13 23:19:57 -0800 |
commit | 2b731911e97a281e324060099631e2374b2144ec (patch) | |
tree | b8cba303e6855f879f6cce0704c208ec162fd140 /src/compiler | |
parent | eb8556ca663de9bf77514eab6e63f0a2f7599413 (diff) | |
download | scala-2b731911e97a281e324060099631e2374b2144ec.tar.gz scala-2b731911e97a281e324060099631e2374b2144ec.tar.bz2 scala-2b731911e97a281e324060099631e2374b2144ec.zip |
Fix for SI-5452.
Why is calling the error function not enough to register the error, why
does "setError(tree)" have to be called as well? That was the cause of
this particular stackoverflow. In ContextErrors I see lots of methods
which call setError and lots more which do not, and frankly it's all
pretty terrifying.
There is zero documentation attached to setError. Maybe there's an
explanation somewhere I'm not seeing.
Review by @hubertp.
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/ContextErrors.scala | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/ContextErrors.scala b/src/compiler/scala/tools/nsc/typechecker/ContextErrors.scala index 6ee09d064f..466b5125a8 100644 --- a/src/compiler/scala/tools/nsc/typechecker/ContextErrors.scala +++ b/src/compiler/scala/tools/nsc/typechecker/ContextErrors.scala @@ -714,9 +714,11 @@ trait ContextErrors { setError(tree) } - def NoBestMethodAlternativeError(tree: Tree, argtpes: List[Type], pt: Type) = + def NoBestMethodAlternativeError(tree: Tree, argtpes: List[Type], pt: Type) = { issueNormalTypeError(tree, applyErrorMsg(tree, " cannot be applied to ", argtpes, pt)) + setError(tree) + } def AmbiguousMethodAlternativeError(tree: Tree, pre: Type, best: Symbol, firstCompeting: Symbol, argtpes: List[Type], pt: Type) = { |