Skip to content

Commit 0a9c485

Browse files
fix reduce to work with new no-wildcards Java reduce
1 parent f8787aa commit 0a9c485

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

language-adaptors/rxjava-scala/src/main/scala/rx/lang/scalaimpl/Observable.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -855,8 +855,8 @@ class Observable[+T](val asJava: rx.Observable[_ <: T])
855855
*/
856856
def reduce[U >: T](f: (U, U) => U): Observable[U] = {
857857
val func: rx.util.functions.Func2[_ >: U, _ >: U, _ <: U] = f
858-
val func2 = func.asInstanceOf[rx.util.functions.Func2[Any, Any, Nothing]]
859-
new Observable[U](asJava.reduce(func2))
858+
val func2 = func.asInstanceOf[rx.util.functions.Func2[T, T, T]]
859+
new Observable[U](asJava.asInstanceOf[rx.Observable[T]].reduce(func2))
860860
}
861861

862862
/**

language-adaptors/rxjava-scala/src/main/scala/rx/lang/scalatests/RxScalaDemo.scala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,4 +104,8 @@ class RxScalaDemo extends JUnitSuite {
104104
.subscribe(output(_))
105105
}
106106

107+
@Test def testReduce() {
108+
assertEquals(10, Observable(1, 2, 3, 4).reduce(_ + _).toBlockingObservable.single)
109+
}
110+
107111
}

0 commit comments

Comments
 (0)