From 094f7f9463b46ff4f14d6e00b5ab81ed73fa8eb0 Mon Sep 17 00:00:00 2001 From: Som Snytt Date: Fri, 24 Feb 2017 13:53:47 -0800 Subject: SI-10207 Error before update conversion Gaze deeper for errors before committing to conversion of assignment to update. The error buried in the transformed tree escapes notice of retypechecking and leaks to backend. --- test/files/neg/t10207.check | 4 ++++ test/files/neg/t10207.scala | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100755 test/files/neg/t10207.check create mode 100644 test/files/neg/t10207.scala (limited to 'test') diff --git a/test/files/neg/t10207.check b/test/files/neg/t10207.check new file mode 100755 index 0000000000..3330db44a5 --- /dev/null +++ b/test/files/neg/t10207.check @@ -0,0 +1,4 @@ +t10207.scala:14: error: too many arguments (2) for method apply: (key: Int)scala.collection.mutable.ArrayBuffer[String] in trait MapLike + m(1, (_ => empty)) ++= AB("eins", "uno") + ^ +one error found diff --git a/test/files/neg/t10207.scala b/test/files/neg/t10207.scala new file mode 100644 index 0000000000..2dfc5d75c9 --- /dev/null +++ b/test/files/neg/t10207.scala @@ -0,0 +1,16 @@ + +// Was: +// warning: an unexpected type representation reached the compiler backend +// Now: +// error: too many arguments (2) for method apply: (key: Int)scala.collection.mutable.ArrayBuffer[String] in trait MapLike + +trait Test { + import collection.mutable.{Map=>MMap, ArrayBuffer=>AB} + + val m = MMap((1 -> AB("one"))) + + val empty = AB[String]() + + m(1, (_ => empty)) ++= AB("eins", "uno") +} + -- cgit v1.2.3