diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/t5340.check | 6 | ||||
-rw-r--r-- | test/files/neg/t5340.scala | 29 |
2 files changed, 35 insertions, 0 deletions
diff --git a/test/files/neg/t5340.check b/test/files/neg/t5340.check new file mode 100644 index 0000000000..2de19293c4 --- /dev/null +++ b/test/files/neg/t5340.check @@ -0,0 +1,6 @@ +t5340.scala:17: error: type mismatch; + found : MyApp.r.E + required: MyApp.s.E + println(b: s.E) + ^ +one error found diff --git a/test/files/neg/t5340.scala b/test/files/neg/t5340.scala new file mode 100644 index 0000000000..b283f13338 --- /dev/null +++ b/test/files/neg/t5340.scala @@ -0,0 +1,29 @@ +class Poly { + class E + object E { + implicit def conv(value: Any): E = sys.error("") + } +} + +object MyApp { + val r: Poly = sys.error("") + val s: Poly = sys.error("") + val b: r.E = sys.error("") + + // okay + s.E.conv(b): s.E + + // compilation fails with error below + println(b: s.E) + + // amb prefix: MyApp.s.type#class E MyApp.r.type#class E + // amb prefix: MyApp.s.type#class E MyApp.r.type#class E + // ../test/pending/run/t5310.scala:17: error: type mismatch; + // found : MyApp.r.E + // required: MyApp.s.E + // println(b: s.E) + // ^ + + // The type error is as expected, but the `amb prefix` should be logged, + // rather than printed to standard out. +} |