summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2012-10-03 08:05:02 -0700
committerGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2012-10-03 08:05:02 -0700
commit19eea2b6a0228131b26636c531f1118db6cf79a8 (patch)
tree3da3a2460b1a3a67b854a1f041c1b3b234762e2d /test
parent16553216da54b006ed784003865aa6f28e1a7f9f (diff)
parent0720157cd7d82db6c1efea615c2e78565b4ada0e (diff)
downloadscala-19eea2b6a0228131b26636c531f1118db6cf79a8.tar.gz
scala-19eea2b6a0228131b26636c531f1118db6cf79a8.tar.bz2
scala-19eea2b6a0228131b26636c531f1118db6cf79a8.zip
Merge pull request #1446 from retronym/ticket/6436-2
SI-6436 Handle ambiguous string processors
Diffstat (limited to 'test')
-rw-r--r--test/files/neg/t6436.check10
-rw-r--r--test/files/neg/t6436.scala9
-rw-r--r--test/files/neg/t6436b.check10
-rw-r--r--test/files/neg/t6436b.scala9
4 files changed, 38 insertions, 0 deletions
diff --git a/test/files/neg/t6436.check b/test/files/neg/t6436.check
new file mode 100644
index 0000000000..ecb28f9100
--- /dev/null
+++ b/test/files/neg/t6436.check
@@ -0,0 +1,10 @@
+t6436.scala:8: error: type mismatch;
+ found : StringContext
+ required: ?{def q: ?}
+Note that implicit conversions are not applicable because they are ambiguous:
+ both method foo1 in object quasiquotes of type (ctx: StringContext)Object{def q: Nothing}
+ and method foo2 in object quasiquotes of type (ctx: StringContext)Object{def q: Nothing}
+ are possible conversion functions from StringContext to ?{def q: ?}
+ println(q"a")
+ ^
+one error found
diff --git a/test/files/neg/t6436.scala b/test/files/neg/t6436.scala
new file mode 100644
index 0000000000..2c40502538
--- /dev/null
+++ b/test/files/neg/t6436.scala
@@ -0,0 +1,9 @@
+object quasiquotes {
+ implicit def foo1(ctx: StringContext) = new { def q = ??? }
+ implicit def foo2(ctx: StringContext) = new { def q = ??? }
+}
+
+object Test extends App {
+ import quasiquotes._
+ println(q"a")
+}
diff --git a/test/files/neg/t6436b.check b/test/files/neg/t6436b.check
new file mode 100644
index 0000000000..b3c2d73739
--- /dev/null
+++ b/test/files/neg/t6436b.check
@@ -0,0 +1,10 @@
+t6436b.scala:8: error: type mismatch;
+ found : StringContext
+ required: ?{def q: ?}
+Note that implicit conversions are not applicable because they are ambiguous:
+ both method foo1 in object quasiquotes of type (ctx: StringContext)Object{def q: Nothing}
+ and method foo2 in object quasiquotes of type (ctx: StringContext)Object{def q: Nothing}
+ are possible conversion functions from StringContext to ?{def q: ?}
+ println(StringContext("a").q())
+ ^
+one error found
diff --git a/test/files/neg/t6436b.scala b/test/files/neg/t6436b.scala
new file mode 100644
index 0000000000..8023329e90
--- /dev/null
+++ b/test/files/neg/t6436b.scala
@@ -0,0 +1,9 @@
+object quasiquotes {
+ implicit def foo1(ctx: StringContext) = new { def q = ??? }
+ implicit def foo2(ctx: StringContext) = new { def q = ??? }
+}
+
+object Test extends App {
+ import quasiquotes._
+ println(StringContext("a").q())
+}