@@ -4099,8 +4099,10 @@ trait Observable[+T]
4099
4099
* @return an Observable that emits a single item, a `Buffer` containing all of the items emitted by
4100
4100
* the source Observable.
4101
4101
*/
4102
- def toBuffer [U >: T ]: Observable [mutable.Buffer [U ]] = // use U >: T because Buffer is invariant
4103
- to[ArrayBuffer ].asInstanceOf [Observable [mutable.Buffer [U ]]]
4102
+ def toBuffer [U >: T ]: Observable [mutable.Buffer [U ]] = { // use U >: T because Buffer is invariant
4103
+ val us : Observable [U ] = this
4104
+ us.to[ArrayBuffer ]
4105
+ }
4104
4106
4105
4107
/**
4106
4108
* Returns an Observable that emits a single item, a `Set` composed of all the items emitted by
@@ -4112,8 +4114,10 @@ trait Observable[+T]
4112
4114
* @return an Observable that emits a single item, a `Set` containing all of the items emitted by
4113
4115
* the source Observable.
4114
4116
*/
4115
- def toSet [U >: T ]: Observable [immutable.Set [U ]] = // use U >: T because Set is invariant
4116
- to[immutable.Set ].asInstanceOf [Observable [immutable.Set [U ]]]
4117
+ def toSet [U >: T ]: Observable [immutable.Set [U ]] = { // use U >: T because Set is invariant
4118
+ val us : Observable [U ] = this
4119
+ us.to[immutable.Set ]
4120
+ }
4117
4121
4118
4122
/**
4119
4123
* Returns an Observable that emits a single item, an `Array` composed of all the items emitted by
@@ -4125,7 +4129,7 @@ trait Observable[+T]
4125
4129
* @return an Observable that emits a single item, an `Array` containing all of the items emitted by
4126
4130
* the source Observable.
4127
4131
*/
4128
- def toArray [U >: T : ClassTag ]: Observable [Array [U ]] = // use U >: T because Set is invariant
4132
+ def toArray [U >: T : ClassTag ]: Observable [Array [U ]] = // use U >: T because Array is invariant
4129
4133
toBuffer[U ].map(_.toArray)
4130
4134
}
4131
4135
0 commit comments