summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-09-10 00:49:49 -0700
committerJason Zaugg <jzaugg@gmail.com>2013-09-10 00:49:49 -0700
commit1015d129a5ce69aad8c273734b23e35c7648b686 (patch)
tree4c2f72c2844c5cc5f5dfe305392b6692363484a9 /test
parent7ecffb0c6719a15c46a1bce5ec8545fb9a1cb24f (diff)
parentcb028ba477f37778bccfc23e597acc0284259681 (diff)
downloadscala-1015d129a5ce69aad8c273734b23e35c7648b686.tar.gz
scala-1015d129a5ce69aad8c273734b23e35c7648b686.tar.bz2
scala-1015d129a5ce69aad8c273734b23e35c7648b686.zip
Merge pull request #2916 from retronym/ticket/7818
SI-7818 Cast our way out of extended existential angst
Diffstat (limited to 'test')
-rw-r--r--test/files/pos/t7818.scala10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/files/pos/t7818.scala b/test/files/pos/t7818.scala
new file mode 100644
index 0000000000..77b99e7d5d
--- /dev/null
+++ b/test/files/pos/t7818.scala
@@ -0,0 +1,10 @@
+class Observable1[+T](val asJava: JObservable[_ <: T]) extends AnyVal {
+ private def foo[X](a: JObservable[X]): JObservable[X] = ???
+ // was generating a type error as the type of the RHS included an existential
+ // skolem based on the class type parameter `T`, which did not conform
+ // to the typer parameter of the extension method into which the RHS is
+ // transplanted.
+ def synchronize: Observable1[T] = new Observable1(foo(asJava))
+}
+
+class JObservable[T]