diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2015-06-21 06:53:38 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2015-06-23 08:43:54 +1000 |
commit | 4a61719c1a3b57b47aa65409e83b87cff39145d3 (patch) | |
tree | 573c6aa26eedad79624c8eeba1c5e94e27b46377 /test | |
parent | f8d816086f56096c05dfc769aa1ab0f6e583bb5a (diff) | |
download | scala-4a61719c1a3b57b47aa65409e83b87cff39145d3.tar.gz scala-4a61719c1a3b57b47aa65409e83b87cff39145d3.tar.bz2 scala-4a61719c1a3b57b47aa65409e83b87cff39145d3.zip |
SI-8892 Fix incorrect qualification in error message
Since beadafa2, we've ended up with nutty error messages for
type errors involving aliases that target types in `java.lang` and
`scala` packages. I think the intent of that change was to force
the error messages to qualify types like `String` when needed, but
to leave them unqualified by default.
However, this led to this flat out wrong message in the enclosed test.
found : B
required: C.this.java.lang.B
(which expands to) String
I've changed the heuristic slightly limit this code to aliases
that are eponymous with their targets. Still feels pretty kludgy, but
we can at least book a little progress.
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/t8892.check | 7 | ||||
-rw-r--r-- | test/files/neg/t8892.scala | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/test/files/neg/t8892.check b/test/files/neg/t8892.check new file mode 100644 index 0000000000..5930be58c5 --- /dev/null +++ b/test/files/neg/t8892.check @@ -0,0 +1,7 @@ +t8892.scala:2: error: type mismatch; + found : B + required: C.this.B + (which expands to) String +class C[B](x: B) extends A { def f: B = x } + ^ +one error found diff --git a/test/files/neg/t8892.scala b/test/files/neg/t8892.scala new file mode 100644 index 0000000000..f857e6f115 --- /dev/null +++ b/test/files/neg/t8892.scala @@ -0,0 +1,2 @@ +trait A { type B = String } +class C[B](x: B) extends A { def f: B = x } |