diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-07-07 14:53:22 +0200 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-07-17 15:44:54 +0200 |
commit | 67651e220a6a4d1d1ee1004766d5b1e33fd46531 (patch) | |
tree | 733fa3a2f64352e3d7b3ff628aca4555c237da05 /test/files/neg | |
parent | 2aa1f1e249596b6d629be35170bdbea7ea14cbe2 (diff) | |
download | scala-67651e220a6a4d1d1ee1004766d5b1e33fd46531.tar.gz scala-67651e220a6a4d1d1ee1004766d5b1e33fd46531.tar.bz2 scala-67651e220a6a4d1d1ee1004766d5b1e33fd46531.zip |
Simplify (ambiguous) error issuing.
The two functional differences are:
- always add the diagnostics string
- check erroneousness in `issueAmbiguousTypeErrorUnlessErroneous`,
before even constructing the error message.
Consider this nugget:
```
- def issueAmbiguousError(pre: Type, sym1: Symbol, sym2: Symbol, err: AbsTypeError) {
- issueCommon(err) { case _ if ambiguousErrors =>
- if (!pre.isErroneous && !sym1.isErroneous && !sym2.isErroneous)
```
I'd like to state for the record that the if-erroneous in the
case of the partial function looked super-dodgy: it meant that,
when `ambiguousErrors`, `issueCommon` would not get to the `else` branches
that buffer or throw, and if the erroneous condition was met,
nothing would be issued/buffered/thrown.
This refactoring checks this condition up front.
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/t3909.check | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/test/files/neg/t3909.check b/test/files/neg/t3909.check index 7da0195607..052b49f855 100644 --- a/test/files/neg/t3909.check +++ b/test/files/neg/t3909.check @@ -1,4 +1,5 @@ t3909.scala:1: error: in object DO, multiple overloaded alternatives of m1 define default arguments +Error occurred in an application involving default arguments. object DO { ^ one error found |