aboutsummaryrefslogtreecommitdiff
path: root/tests/pos
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-08-26 11:31:52 +0200
committerMartin Odersky <odersky@gmail.com>2016-08-26 11:31:59 +0200
commite61ff6f4cfb632b11b7e54e2904706d382634eda (patch)
treedf76b38a73dccdb52f0ebf7bb47f6e6afc989a28 /tests/pos
parent910aa4b4b6b1db98148566ca0b46e026fd5e312d (diff)
downloaddotty-e61ff6f4cfb632b11b7e54e2904706d382634eda.tar.gz
dotty-e61ff6f4cfb632b11b7e54e2904706d382634eda.tar.bz2
dotty-e61ff6f4cfb632b11b7e54e2904706d382634eda.zip
Dependent method tests
Diffstat (limited to 'tests/pos')
-rw-r--r--tests/pos/dependent-implicits.scala7
-rw-r--r--tests/pos/t5070.scala15
2 files changed, 22 insertions, 0 deletions
diff --git a/tests/pos/dependent-implicits.scala b/tests/pos/dependent-implicits.scala
new file mode 100644
index 000000000..17a323112
--- /dev/null
+++ b/tests/pos/dependent-implicits.scala
@@ -0,0 +1,7 @@
+object Test {
+ trait T { type X; val x: X }
+ implicit def f(x: T): x.X = x.x
+ val t = new T { type X = String; val x = "" }
+ val x: String = t
+ val uy: String = f(t)
+}
diff --git a/tests/pos/t5070.scala b/tests/pos/t5070.scala
new file mode 100644
index 000000000..410afba14
--- /dev/null
+++ b/tests/pos/t5070.scala
@@ -0,0 +1,15 @@
+trait A {
+ type T
+}
+
+object O {
+ implicit def b(implicit x: A): x.T = error("")
+}
+
+class Test {
+ import O._
+ implicit val a: A = new A {}
+ implicitly[a.T] // works
+
+ implicitly[a.T](b(a)) // works
+}