summaryrefslogtreecommitdiff
path: root/test/files/neg/bug4851.check
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-07-29 15:38:50 +0000
committerPaul Phillips <paulp@improving.org>2011-07-29 15:38:50 +0000
commit4e488a60594664046c3449e1aa2239adca7a012e (patch)
treee02baffa12f57600c28e0109adf66e4ac0a00920 /test/files/neg/bug4851.check
parentcda84e7f2145673e4e14cb886598fe19cd48585a (diff)
downloadscala-4e488a60594664046c3449e1aa2239adca7a012e.tar.gz
scala-4e488a60594664046c3449e1aa2239adca7a012e.tar.bz2
scala-4e488a60594664046c3449e1aa2239adca7a012e.zip
Added two new compiler options:
-Ywarn-adapted-args // also included in -Xlint -Yno-adapted-args The former warns when a () is inserted or an argument list is implicitly tupled. The latter errors under the same conditions. Using these options I found several bugs in the distribution which would otherwise be nearly impossible to spot. These bugs were innocuous (I think) but similar bugs could easily be (and have been) otherwise. Certain particularly threatening scenarios are at minimum warned about regardless of options given. Closes SI-4851, no review.
Diffstat (limited to 'test/files/neg/bug4851.check')
-rw-r--r--test/files/neg/bug4851.check43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/files/neg/bug4851.check b/test/files/neg/bug4851.check
new file mode 100644
index 0000000000..8011350f23
--- /dev/null
+++ b/test/files/neg/bug4851.check
@@ -0,0 +1,43 @@
+S.scala:2: error: Adapting argument list by inserting (): leaky (Object-receiving) target makes this especially dangerous.
+ signature: J(x: Any): J
+ given arguments: <none>
+ after adaptation: new J((): Unit)
+ val x1 = new J
+ ^
+S.scala:3: error: Adapting argument list by inserting (): leaky (Object-receiving) target makes this especially dangerous.
+ signature: J(x: Any): J
+ given arguments: <none>
+ after adaptation: new J((): Unit)
+ val x2 = new J()
+ ^
+S.scala:4: error: Adapting argument list by creating a 5-tuple: this may not be what you want.
+ signature: J(x: Any): J
+ given arguments: 1, 2, 3, 4, 5
+ after adaptation: new J((1, 2, 3, 4, 5): (Int, Int, Int, Int, Int))
+ val x3 = new J(1, 2, 3, 4, 5)
+ ^
+S.scala:6: error: Adapting argument list by creating a 3-tuple: this may not be what you want.
+ signature: Some.apply[A](x: A): Some[A]
+ given arguments: 1, 2, 3
+ after adaptation: Some((1, 2, 3): (Int, Int, Int))
+ val y1 = Some(1, 2, 3)
+ ^
+S.scala:7: error: Adapting argument list by creating a 3-tuple: this may not be what you want.
+ signature: Some(x: A): Some[A]
+ given arguments: 1, 2, 3
+ after adaptation: new Some((1, 2, 3): (Int, Int, Int))
+ val y2 = new Some(1, 2, 3)
+ ^
+S.scala:9: error: Adapting argument list by inserting (): this is unlikely to be what you want.
+ signature: J2[T](x: T): J2[T]
+ given arguments: <none>
+ after adaptation: new J2((): Unit)
+ val z1 = new J2
+ ^
+S.scala:10: error: Adapting argument list by inserting (): this is unlikely to be what you want.
+ signature: J2[T](x: T): J2[T]
+ given arguments: <none>
+ after adaptation: new J2((): Unit)
+ val z2 = new J2()
+ ^
+7 errors found