diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-09-10 00:49:49 -0700 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-09-10 00:49:49 -0700 |
commit | 1015d129a5ce69aad8c273734b23e35c7648b686 (patch) | |
tree | 4c2f72c2844c5cc5f5dfe305392b6692363484a9 /test/files | |
parent | 7ecffb0c6719a15c46a1bce5ec8545fb9a1cb24f (diff) | |
parent | cb028ba477f37778bccfc23e597acc0284259681 (diff) | |
download | scala-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/files')
-rw-r--r-- | test/files/pos/t7818.scala | 10 |
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] |