diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2015-09-08 12:55:01 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2015-09-08 12:55:01 +1000 |
commit | 77a728eddc21d7d47828dab03d03afeafc081a81 (patch) | |
tree | 2b2456888150b5d188981fc440a791111cab493d /test/files/neg | |
parent | 5af7f23c63ea13b5132abeb2abaff8b44f5f5f2a (diff) | |
parent | 5bd8ea0edffe7b725e5fa665a82a5795d5dafe8f (diff) | |
download | scala-77a728eddc21d7d47828dab03d03afeafc081a81.tar.gz scala-77a728eddc21d7d47828dab03d03afeafc081a81.tar.bz2 scala-77a728eddc21d7d47828dab03d03afeafc081a81.zip |
Merge pull request #4673 from puffnfresh/issue/6806
SI-6806 Add an @implicitAmbiguous annotation
Diffstat (limited to 'test/files/neg')
-rw-r--r-- | test/files/neg/implicit-ambiguous-2.check | 4 | ||||
-rw-r--r-- | test/files/neg/implicit-ambiguous-2.scala | 11 | ||||
-rw-r--r-- | test/files/neg/implicit-ambiguous-invalid.check | 7 | ||||
-rw-r--r-- | test/files/neg/implicit-ambiguous-invalid.flags | 1 | ||||
-rw-r--r-- | test/files/neg/implicit-ambiguous-invalid.scala | 6 | ||||
-rw-r--r-- | test/files/neg/implicit-ambiguous.check | 4 | ||||
-rw-r--r-- | test/files/neg/implicit-ambiguous.scala | 11 |
7 files changed, 44 insertions, 0 deletions
diff --git a/test/files/neg/implicit-ambiguous-2.check b/test/files/neg/implicit-ambiguous-2.check new file mode 100644 index 0000000000..4a10b0dd65 --- /dev/null +++ b/test/files/neg/implicit-ambiguous-2.check @@ -0,0 +1,4 @@ +implicit-ambiguous-2.scala:10: error: Could not prove Int =!= Int + implicitly[Int =!= Int] + ^ +one error found diff --git a/test/files/neg/implicit-ambiguous-2.scala b/test/files/neg/implicit-ambiguous-2.scala new file mode 100644 index 0000000000..563c8c583f --- /dev/null +++ b/test/files/neg/implicit-ambiguous-2.scala @@ -0,0 +1,11 @@ +object Test { + trait =!=[C, D] + + implicit def neq[E, F] : E =!= F = null + + implicit def neqAmbig1[G, H, J] : J =!= J = null + @annotation.implicitAmbiguous("Could not prove ${I} =!= ${I}") + implicit def neqAmbig2[I] : I =!= I = null + + implicitly[Int =!= Int] +} diff --git a/test/files/neg/implicit-ambiguous-invalid.check b/test/files/neg/implicit-ambiguous-invalid.check new file mode 100644 index 0000000000..68b607c4c2 --- /dev/null +++ b/test/files/neg/implicit-ambiguous-invalid.check @@ -0,0 +1,7 @@ +implicit-ambiguous-invalid.scala:5: warning: Invalid implicitAmbiguous message for method neqAmbig1 in object Test: +The type parameter B referenced in the message of the @implicitAmbiguous annotation is not defined by method neqAmbig1. + implicit def neqAmbig1[A] : A =!= A = null + ^ +error: No warnings can be incurred under -Xfatal-warnings. +one warning found +one error found diff --git a/test/files/neg/implicit-ambiguous-invalid.flags b/test/files/neg/implicit-ambiguous-invalid.flags new file mode 100644 index 0000000000..85d8eb2ba2 --- /dev/null +++ b/test/files/neg/implicit-ambiguous-invalid.flags @@ -0,0 +1 @@ +-Xfatal-warnings diff --git a/test/files/neg/implicit-ambiguous-invalid.scala b/test/files/neg/implicit-ambiguous-invalid.scala new file mode 100644 index 0000000000..f8f9da655f --- /dev/null +++ b/test/files/neg/implicit-ambiguous-invalid.scala @@ -0,0 +1,6 @@ +object Test { + trait =!=[C, D] + + @annotation.implicitAmbiguous("Could not prove ${A} =!= ${B}") + implicit def neqAmbig1[A] : A =!= A = null +} diff --git a/test/files/neg/implicit-ambiguous.check b/test/files/neg/implicit-ambiguous.check new file mode 100644 index 0000000000..0b3cebcb6f --- /dev/null +++ b/test/files/neg/implicit-ambiguous.check @@ -0,0 +1,4 @@ +implicit-ambiguous.scala:10: error: Could not prove Int =!= Int + implicitly[Int =!= Int] + ^ +one error found diff --git a/test/files/neg/implicit-ambiguous.scala b/test/files/neg/implicit-ambiguous.scala new file mode 100644 index 0000000000..79b1297915 --- /dev/null +++ b/test/files/neg/implicit-ambiguous.scala @@ -0,0 +1,11 @@ +object Test { + trait =!=[C, D] + + implicit def neq[E, F] : E =!= F = null + + @annotation.implicitAmbiguous("Could not prove ${J} =!= ${J}") + implicit def neqAmbig1[G, H, J] : J =!= J = null + implicit def neqAmbig2[I] : I =!= I = null + + implicitly[Int =!= Int] +} |