0001    // This file is autogenerated. Take a look at `Preprocessor` target in RxSwift project 
0002    //
0003    //  CombineLatest+arity.swift
0004    //  RxSwift
0005    //
0006    //  Created by Krunoslav Zaher on 4/22/15.
0007    //  Copyright © 2015 Krunoslav Zaher. All rights reserved.
0008    //
0009    
0010    import Foundation
0011    
0012    
0013    
0014    // 2
0015    
0016    extension Observable {
0017        /**
0018        Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element.
0019    
0020        - seealso: [combineLatest operator on reactivex.io](http://reactivex.io/documentation/operators/combinelatest.html)
0021    
0022        - parameter resultSelector: Function to invoke whenever any of the sources produces an element.
0023        - returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function.
0024        */
0025        @warn_unused_result(message="http://git.io/rxs.uo")
0026        public static func combineLatest<O1: ObservableType, O2: ObservableType>
0027            (source1: O1, _ source2: O2, resultSelector: (O1.E, O2.E) throws -> E)
0028                -> Observable<E> {
0029            return CombineLatest2(
0030                source1: source1.asObservable(), source2: source2.asObservable(),
0031                resultSelector: resultSelector
0032            )
0033        }
0034    }
0035    
0036    class CombineLatestSink2_
CombineLatest+arity.swift:87
        let sink = CombineLatestSink2_(parent: self, observer: observer)
<E1
CombineLatest+arity.swift:38
    typealias Parent = CombineLatest2<E1, E2, R>
CombineLatest+arity.swift:42
    var _latestElement1: E1! = nil
CombineLatest+arity.swift:54
        let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)
, E2
CombineLatest+arity.swift:38
    typealias Parent = CombineLatest2<E1, E2, R>
CombineLatest+arity.swift:43
    var _latestElement2: E2! = nil
CombineLatest+arity.swift:55
        let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)
, O
CombineLatest+arity.swift:36
class CombineLatestSink2_<E1, E2, O: ObserverType> : CombineLatestSink<O> {
CombineLatest+arity.swift:37
    typealias R = O.E
CombineLatest+arity.swift:45
    init(parent: Parent, observer: O) {
: ObserverType> : CombineLatestSink<O> { 0037 typealias R
CombineLatest+arity.swift:38
    typealias Parent = CombineLatest2<E1, E2, R>
CombineLatest+arity.swift:66
    override func getResult() throws -> R {
= O.E 0038 typealias Parent
CombineLatest+arity.swift:40
    let _parent: Parent
CombineLatest+arity.swift:45
    init(parent: Parent, observer: O) {
= CombineLatest2<E1, E2, R> 0039 0040 let _parent
CombineLatest+arity.swift:46
        _parent = parent
CombineLatest+arity.swift:57
         subscription1.disposable = _parent._source1.subscribe(observer1)
CombineLatest+arity.swift:58
         subscription2.disposable = _parent._source2.subscribe(observer2)
CombineLatest+arity.swift:67
        return try _parent._resultSelector(_latestElement1, _latestElement2)
: Parent 0041 0042 var _latestElement1
CombineLatest+arity.swift:54
        let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)
CombineLatest+arity.swift:67
        return try _parent._resultSelector(_latestElement1, _latestElement2)
: E1! = nil 0043 var _latestElement2
CombineLatest+arity.swift:55
        let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)
CombineLatest+arity.swift:67
        return try _parent._resultSelector(_latestElement1, _latestElement2)
: E2! = nil 0044 0045 init
CombineLatest+arity.swift:87
        let sink = CombineLatestSink2_(parent: self, observer: observer)
(parent: Parent, observer: O) { 0046 _parent = parent 0047 super.init(arity: 2, observer: observer) 0048 } 0049 0050 func run
CombineLatest+arity.swift:88
        sink.disposable = sink.run()
() -> Disposable { 0051 let subscription1 = SingleAssignmentDisposable() 0052 let subscription2 = SingleAssignmentDisposable() 0053 0054 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1) 0055 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2) 0056 0057 subscription1.disposable = _parent._source1.subscribe(observer1) 0058 subscription2.disposable = _parent._source2.subscribe(observer2) 0059 0060 return CompositeDisposable(disposables: [ 0061 subscription1, 0062 subscription2 0063 ]) 0064 } 0065 0066 override func getResult() throws -> R { 0067 return try _parent._resultSelector(_latestElement1, _latestElement2) 0068 } 0069 } 0070 0071 class CombineLatest2
CombineLatest+arity.swift:29
        return CombineLatest2(
CombineLatest+arity.swift:38
    typealias Parent = CombineLatest2<E1, E2, R>
<E1
CombineLatest+arity.swift:72
    typealias ResultSelector = (E1, E2) throws -> R
CombineLatest+arity.swift:74
    let _source1: Observable<E1>
CombineLatest+arity.swift:79
    init(source1: Observable<E1>, source2: Observable<E2>, resultSelector: ResultSelector) {
, E2
CombineLatest+arity.swift:72
    typealias ResultSelector = (E1, E2) throws -> R
CombineLatest+arity.swift:75
    let _source2: Observable<E2>
CombineLatest+arity.swift:79
    init(source1: Observable<E1>, source2: Observable<E2>, resultSelector: ResultSelector) {
, R
CombineLatest+arity.swift:71
class CombineLatest2<E1, E2, R> : Producer<R> {
CombineLatest+arity.swift:72
    typealias ResultSelector = (E1, E2) throws -> R
CombineLatest+arity.swift:86
    override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable {
> : Producer<R> { 0072 typealias ResultSelector
CombineLatest+arity.swift:77
    let _resultSelector: ResultSelector
CombineLatest+arity.swift:79
    init(source1: Observable<E1>, source2: Observable<E2>, resultSelector: ResultSelector) {
= (E1, E2) throws -> R 0073 0074 let _source1
CombineLatest+arity.swift:57
         subscription1.disposable = _parent._source1.subscribe(observer1)
CombineLatest+arity.swift:80
        _source1 = source1
: Observable<E1> 0075 let _source2
CombineLatest+arity.swift:58
         subscription2.disposable = _parent._source2.subscribe(observer2)
CombineLatest+arity.swift:81
        _source2 = source2
: Observable<E2> 0076 0077 let _resultSelector
CombineLatest+arity.swift:67
        return try _parent._resultSelector(_latestElement1, _latestElement2)
CombineLatest+arity.swift:83
        _resultSelector = resultSelector
: ResultSelector 0078 0079 init
CombineLatest+arity.swift:29
        return CombineLatest2(
(source1: Observable<E1>, source2: Observable<E2>, resultSelector: ResultSelector) { 0080 _source1 = source1 0081 _source2 = source2 0082 0083 _resultSelector = resultSelector 0084 } 0085 0086 override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable { 0087 let sink = CombineLatestSink2_(parent: self, observer: observer) 0088 sink.disposable = sink.run() 0089 return sink 0090 } 0091 } 0092 0093 0094 0095 // 3 0096 0097 extension Observable { 0098 /** 0099 Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. 0100 0101 - seealso: [combineLatest operator on reactivex.io](http://reactivex.io/documentation/operators/combinelatest.html) 0102 0103 - parameter resultSelector: Function to invoke whenever any of the sources produces an element. 0104 - returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function. 0105 */ 0106 @warn_unused_result(message="http://git.io/rxs.uo") 0107 public static func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType> 0108 (source1: O1, _ source2: O2, _ source3: O3, resultSelector: (O1.E, O2.E, O3.E) throws -> E) 0109 -> Observable<E> { 0110 return CombineLatest3( 0111 source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), 0112 resultSelector: resultSelector 0113 ) 0114 } 0115 } 0116 0117 class CombineLatestSink3_
CombineLatest+arity.swift:175
        let sink = CombineLatestSink3_(parent: self, observer: observer)
<E1
CombineLatest+arity.swift:119
    typealias Parent = CombineLatest3<E1, E2, E3, R>
CombineLatest+arity.swift:123
    var _latestElement1: E1! = nil
CombineLatest+arity.swift:137
        let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)
, E2
CombineLatest+arity.swift:119
    typealias Parent = CombineLatest3<E1, E2, E3, R>
CombineLatest+arity.swift:124
    var _latestElement2: E2! = nil
CombineLatest+arity.swift:138
        let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)
, E3
CombineLatest+arity.swift:119
    typealias Parent = CombineLatest3<E1, E2, E3, R>
CombineLatest+arity.swift:125
    var _latestElement3: E3! = nil
CombineLatest+arity.swift:139
        let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)
, O
CombineLatest+arity.swift:117
class CombineLatestSink3_<E1, E2, E3, O: ObserverType> : CombineLatestSink<O> {
CombineLatest+arity.swift:118
    typealias R = O.E
CombineLatest+arity.swift:127
    init(parent: Parent, observer: O) {
: ObserverType> : CombineLatestSink<O> { 0118 typealias R
CombineLatest+arity.swift:119
    typealias Parent = CombineLatest3<E1, E2, E3, R>
CombineLatest+arity.swift:152
    override func getResult() throws -> R {
= O.E 0119 typealias Parent
CombineLatest+arity.swift:121
    let _parent: Parent
CombineLatest+arity.swift:127
    init(parent: Parent, observer: O) {
= CombineLatest3<E1, E2, E3, R> 0120 0121 let _parent
CombineLatest+arity.swift:128
        _parent = parent
CombineLatest+arity.swift:141
         subscription1.disposable = _parent._source1.subscribe(observer1)
CombineLatest+arity.swift:142
         subscription2.disposable = _parent._source2.subscribe(observer2)
CombineLatest+arity.swift:143
         subscription3.disposable = _parent._source3.subscribe(observer3)
CombineLatest+arity.swift:153
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3)
: Parent 0122 0123 var _latestElement1
CombineLatest+arity.swift:137
        let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)
CombineLatest+arity.swift:153
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3)
: E1! = nil 0124 var _latestElement2
CombineLatest+arity.swift:138
        let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)
CombineLatest+arity.swift:153
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3)
: E2! = nil 0125 var _latestElement3
CombineLatest+arity.swift:139
        let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)
CombineLatest+arity.swift:153
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3)
: E3! = nil 0126 0127 init
CombineLatest+arity.swift:175
        let sink = CombineLatestSink3_(parent: self, observer: observer)
(parent: Parent, observer: O) { 0128 _parent = parent 0129 super.init(arity: 3, observer: observer) 0130 } 0131 0132 func run
CombineLatest+arity.swift:176
        sink.disposable = sink.run()
() -> Disposable { 0133 let subscription1 = SingleAssignmentDisposable() 0134 let subscription2 = SingleAssignmentDisposable() 0135 let subscription3 = SingleAssignmentDisposable() 0136 0137 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1) 0138 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2) 0139 let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3) 0140 0141 subscription1.disposable = _parent._source1.subscribe(observer1) 0142 subscription2.disposable = _parent._source2.subscribe(observer2) 0143 subscription3.disposable = _parent._source3.subscribe(observer3) 0144 0145 return CompositeDisposable(disposables: [ 0146 subscription1, 0147 subscription2, 0148 subscription3 0149 ]) 0150 } 0151 0152 override func getResult() throws -> R { 0153 return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3) 0154 } 0155 } 0156 0157 class CombineLatest3
CombineLatest+arity.swift:110
        return CombineLatest3(
CombineLatest+arity.swift:119
    typealias Parent = CombineLatest3<E1, E2, E3, R>
<E1
CombineLatest+arity.swift:158
    typealias ResultSelector = (E1, E2, E3) throws -> R
CombineLatest+arity.swift:160
    let _source1: Observable<E1>
CombineLatest+arity.swift:166
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, resultSelector: ResultSelector) {
, E2
CombineLatest+arity.swift:158
    typealias ResultSelector = (E1, E2, E3) throws -> R
CombineLatest+arity.swift:161
    let _source2: Observable<E2>
CombineLatest+arity.swift:166
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, resultSelector: ResultSelector) {
, E3
CombineLatest+arity.swift:158
    typealias ResultSelector = (E1, E2, E3) throws -> R
CombineLatest+arity.swift:162
    let _source3: Observable<E3>
CombineLatest+arity.swift:166
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, resultSelector: ResultSelector) {
, R
CombineLatest+arity.swift:157
class CombineLatest3<E1, E2, E3, R> : Producer<R> {
CombineLatest+arity.swift:158
    typealias ResultSelector = (E1, E2, E3) throws -> R
CombineLatest+arity.swift:174
    override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable {
> : Producer<R> { 0158 typealias ResultSelector
CombineLatest+arity.swift:164
    let _resultSelector: ResultSelector
CombineLatest+arity.swift:166
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, resultSelector: ResultSelector) {
= (E1, E2, E3) throws -> R 0159 0160 let _source1
CombineLatest+arity.swift:141
         subscription1.disposable = _parent._source1.subscribe(observer1)
CombineLatest+arity.swift:167
        _source1 = source1
: Observable<E1> 0161 let _source2
CombineLatest+arity.swift:142
         subscription2.disposable = _parent._source2.subscribe(observer2)
CombineLatest+arity.swift:168
        _source2 = source2
: Observable<E2> 0162 let _source3
CombineLatest+arity.swift:143
         subscription3.disposable = _parent._source3.subscribe(observer3)
CombineLatest+arity.swift:169
        _source3 = source3
: Observable<E3> 0163 0164 let _resultSelector
CombineLatest+arity.swift:153
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3)
CombineLatest+arity.swift:171
        _resultSelector = resultSelector
: ResultSelector 0165 0166 init
CombineLatest+arity.swift:110
        return CombineLatest3(
(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, resultSelector: ResultSelector) { 0167 _source1 = source1 0168 _source2 = source2 0169 _source3 = source3 0170 0171 _resultSelector = resultSelector 0172 } 0173 0174 override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable { 0175 let sink = CombineLatestSink3_(parent: self, observer: observer) 0176 sink.disposable = sink.run() 0177 return sink 0178 } 0179 } 0180 0181 0182 0183 // 4 0184 0185 extension Observable { 0186 /** 0187 Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. 0188 0189 - seealso: [combineLatest operator on reactivex.io](http://reactivex.io/documentation/operators/combinelatest.html) 0190 0191 - parameter resultSelector: Function to invoke whenever any of the sources produces an element. 0192 - returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function. 0193 */ 0194 @warn_unused_result(message="http://git.io/rxs.uo") 0195 public static func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType> 0196 (source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, resultSelector: (O1.E, O2.E, O3.E, O4.E) throws -> E) 0197 -> Observable<E> { 0198 return CombineLatest4( 0199 source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), 0200 resultSelector: resultSelector 0201 ) 0202 } 0203 } 0204 0205 class CombineLatestSink4_
CombineLatest+arity.swift:270
        let sink = CombineLatestSink4_(parent: self, observer: observer)
<E1
CombineLatest+arity.swift:207
    typealias Parent = CombineLatest4<E1, E2, E3, E4, R>
CombineLatest+arity.swift:211
    var _latestElement1: E1! = nil
CombineLatest+arity.swift:227
        let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)
, E2
CombineLatest+arity.swift:207
    typealias Parent = CombineLatest4<E1, E2, E3, E4, R>
CombineLatest+arity.swift:212
    var _latestElement2: E2! = nil
CombineLatest+arity.swift:228
        let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)
, E3
CombineLatest+arity.swift:207
    typealias Parent = CombineLatest4<E1, E2, E3, E4, R>
CombineLatest+arity.swift:213
    var _latestElement3: E3! = nil
CombineLatest+arity.swift:229
        let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)
, E4
CombineLatest+arity.swift:207
    typealias Parent = CombineLatest4<E1, E2, E3, E4, R>
CombineLatest+arity.swift:214
    var _latestElement4: E4! = nil
CombineLatest+arity.swift:230
        let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)
, O
CombineLatest+arity.swift:205
class CombineLatestSink4_<E1, E2, E3, E4, O: ObserverType> : CombineLatestSink<O> {
CombineLatest+arity.swift:206
    typealias R = O.E
CombineLatest+arity.swift:216
    init(parent: Parent, observer: O) {
: ObserverType> : CombineLatestSink<O> { 0206 typealias R
CombineLatest+arity.swift:207
    typealias Parent = CombineLatest4<E1, E2, E3, E4, R>
CombineLatest+arity.swift:245
    override func getResult() throws -> R {
= O.E 0207 typealias Parent
CombineLatest+arity.swift:209
    let _parent: Parent
CombineLatest+arity.swift:216
    init(parent: Parent, observer: O) {
= CombineLatest4<E1, E2, E3, E4, R> 0208 0209 let _parent
CombineLatest+arity.swift:217
        _parent = parent
CombineLatest+arity.swift:232
         subscription1.disposable = _parent._source1.subscribe(observer1)
CombineLatest+arity.swift:233
         subscription2.disposable = _parent._source2.subscribe(observer2)
CombineLatest+arity.swift:234
         subscription3.disposable = _parent._source3.subscribe(observer3)
CombineLatest+arity.swift:235
         subscription4.disposable = _parent._source4.subscribe(observer4)
CombineLatest+arity.swift:246
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4)
: Parent 0210 0211 var _latestElement1
CombineLatest+arity.swift:227
        let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)
CombineLatest+arity.swift:246
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4)
: E1! = nil 0212 var _latestElement2
CombineLatest+arity.swift:228
        let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)
CombineLatest+arity.swift:246
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4)
: E2! = nil 0213 var _latestElement3
CombineLatest+arity.swift:229
        let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)
CombineLatest+arity.swift:246
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4)
: E3! = nil 0214 var _latestElement4
CombineLatest+arity.swift:230
        let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)
CombineLatest+arity.swift:246
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4)
: E4! = nil 0215 0216 init
CombineLatest+arity.swift:270
        let sink = CombineLatestSink4_(parent: self, observer: observer)
(parent: Parent, observer: O) { 0217 _parent = parent 0218 super.init(arity: 4, observer: observer) 0219 } 0220 0221 func run
CombineLatest+arity.swift:271
        sink.disposable = sink.run()
() -> Disposable { 0222 let subscription1 = SingleAssignmentDisposable() 0223 let subscription2 = SingleAssignmentDisposable() 0224 let subscription3 = SingleAssignmentDisposable() 0225 let subscription4 = SingleAssignmentDisposable() 0226 0227 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1) 0228 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2) 0229 let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3) 0230 let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4) 0231 0232 subscription1.disposable = _parent._source1.subscribe(observer1) 0233 subscription2.disposable = _parent._source2.subscribe(observer2) 0234 subscription3.disposable = _parent._source3.subscribe(observer3) 0235 subscription4.disposable = _parent._source4.subscribe(observer4) 0236 0237 return CompositeDisposable(disposables: [ 0238 subscription1, 0239 subscription2, 0240 subscription3, 0241 subscription4 0242 ]) 0243 } 0244 0245 override func getResult() throws -> R { 0246 return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4) 0247 } 0248 } 0249 0250 class CombineLatest4
CombineLatest+arity.swift:198
        return CombineLatest4(
CombineLatest+arity.swift:207
    typealias Parent = CombineLatest4<E1, E2, E3, E4, R>
<E1
CombineLatest+arity.swift:251
    typealias ResultSelector = (E1, E2, E3, E4) throws -> R
CombineLatest+arity.swift:253
    let _source1: Observable<E1>
CombineLatest+arity.swift:260
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, resultSelector: ResultSelector) {
, E2
CombineLatest+arity.swift:251
    typealias ResultSelector = (E1, E2, E3, E4) throws -> R
CombineLatest+arity.swift:254
    let _source2: Observable<E2>
CombineLatest+arity.swift:260
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, resultSelector: ResultSelector) {
, E3
CombineLatest+arity.swift:251
    typealias ResultSelector = (E1, E2, E3, E4) throws -> R
CombineLatest+arity.swift:255
    let _source3: Observable<E3>
CombineLatest+arity.swift:260
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, resultSelector: ResultSelector) {
, E4
CombineLatest+arity.swift:251
    typealias ResultSelector = (E1, E2, E3, E4) throws -> R
CombineLatest+arity.swift:256
    let _source4: Observable<E4>
CombineLatest+arity.swift:260
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, resultSelector: ResultSelector) {
, R
CombineLatest+arity.swift:250
class CombineLatest4<E1, E2, E3, E4, R> : Producer<R> {
CombineLatest+arity.swift:251
    typealias ResultSelector = (E1, E2, E3, E4) throws -> R
CombineLatest+arity.swift:269
    override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable {
> : Producer<R> { 0251 typealias ResultSelector
CombineLatest+arity.swift:258
    let _resultSelector: ResultSelector
CombineLatest+arity.swift:260
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, resultSelector: ResultSelector) {
= (E1, E2, E3, E4) throws -> R 0252 0253 let _source1
CombineLatest+arity.swift:232
         subscription1.disposable = _parent._source1.subscribe(observer1)
CombineLatest+arity.swift:261
        _source1 = source1
: Observable<E1> 0254 let _source2
CombineLatest+arity.swift:233
         subscription2.disposable = _parent._source2.subscribe(observer2)
CombineLatest+arity.swift:262
        _source2 = source2
: Observable<E2> 0255 let _source3
CombineLatest+arity.swift:234
         subscription3.disposable = _parent._source3.subscribe(observer3)
CombineLatest+arity.swift:263
        _source3 = source3
: Observable<E3> 0256 let _source4
CombineLatest+arity.swift:235
         subscription4.disposable = _parent._source4.subscribe(observer4)
CombineLatest+arity.swift:264
        _source4 = source4
: Observable<E4> 0257 0258 let _resultSelector
CombineLatest+arity.swift:246
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4)
CombineLatest+arity.swift:266
        _resultSelector = resultSelector
: ResultSelector 0259 0260 init
CombineLatest+arity.swift:198
        return CombineLatest4(
(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, resultSelector: ResultSelector) { 0261 _source1 = source1 0262 _source2 = source2 0263 _source3 = source3 0264 _source4 = source4 0265 0266 _resultSelector = resultSelector 0267 } 0268 0269 override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable { 0270 let sink = CombineLatestSink4_(parent: self, observer: observer) 0271 sink.disposable = sink.run() 0272 return sink 0273 } 0274 } 0275 0276 0277 0278 // 5 0279 0280 extension Observable { 0281 /** 0282 Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. 0283 0284 - seealso: [combineLatest operator on reactivex.io](http://reactivex.io/documentation/operators/combinelatest.html) 0285 0286 - parameter resultSelector: Function to invoke whenever any of the sources produces an element. 0287 - returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function. 0288 */ 0289 @warn_unused_result(message="http://git.io/rxs.uo") 0290 public static func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType> 0291 (source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E) throws -> E) 0292 -> Observable<E> { 0293 return CombineLatest5( 0294 source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(), 0295 resultSelector: resultSelector 0296 ) 0297 } 0298 } 0299 0300 class CombineLatestSink5_
CombineLatest+arity.swift:372
        let sink = CombineLatestSink5_(parent: self, observer: observer)
<E1
CombineLatest+arity.swift:302
    typealias Parent = CombineLatest5<E1, E2, E3, E4, E5, R>
CombineLatest+arity.swift:306
    var _latestElement1: E1! = nil
CombineLatest+arity.swift:324
        let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)
, E2
CombineLatest+arity.swift:302
    typealias Parent = CombineLatest5<E1, E2, E3, E4, E5, R>
CombineLatest+arity.swift:307
    var _latestElement2: E2! = nil
CombineLatest+arity.swift:325
        let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)
, E3
CombineLatest+arity.swift:302
    typealias Parent = CombineLatest5<E1, E2, E3, E4, E5, R>
CombineLatest+arity.swift:308
    var _latestElement3: E3! = nil
CombineLatest+arity.swift:326
        let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)
, E4
CombineLatest+arity.swift:302
    typealias Parent = CombineLatest5<E1, E2, E3, E4, E5, R>
CombineLatest+arity.swift:309
    var _latestElement4: E4! = nil
CombineLatest+arity.swift:327
        let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)
, E5
CombineLatest+arity.swift:302
    typealias Parent = CombineLatest5<E1, E2, E3, E4, E5, R>
CombineLatest+arity.swift:310
    var _latestElement5: E5! = nil
CombineLatest+arity.swift:328
        let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5)
, O
CombineLatest+arity.swift:300
class CombineLatestSink5_<E1, E2, E3, E4, E5, O: ObserverType> : CombineLatestSink<O> {
CombineLatest+arity.swift:301
    typealias R = O.E
CombineLatest+arity.swift:312
    init(parent: Parent, observer: O) {
: ObserverType> : CombineLatestSink<O> { 0301 typealias R
CombineLatest+arity.swift:302
    typealias Parent = CombineLatest5<E1, E2, E3, E4, E5, R>
CombineLatest+arity.swift:345
    override func getResult() throws -> R {
= O.E 0302 typealias Parent
CombineLatest+arity.swift:304
    let _parent: Parent
CombineLatest+arity.swift:312
    init(parent: Parent, observer: O) {
= CombineLatest5<E1, E2, E3, E4, E5, R> 0303 0304 let _parent
CombineLatest+arity.swift:313
        _parent = parent
CombineLatest+arity.swift:330
         subscription1.disposable = _parent._source1.subscribe(observer1)
CombineLatest+arity.swift:331
         subscription2.disposable = _parent._source2.subscribe(observer2)
CombineLatest+arity.swift:332
         subscription3.disposable = _parent._source3.subscribe(observer3)
CombineLatest+arity.swift:333
         subscription4.disposable = _parent._source4.subscribe(observer4)
CombineLatest+arity.swift:334
         subscription5.disposable = _parent._source5.subscribe(observer5)
CombineLatest+arity.swift:346
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5)
: Parent 0305 0306 var _latestElement1
CombineLatest+arity.swift:324
        let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)
CombineLatest+arity.swift:346
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5)
: E1! = nil 0307 var _latestElement2
CombineLatest+arity.swift:325
        let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)
CombineLatest+arity.swift:346
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5)
: E2! = nil 0308 var _latestElement3
CombineLatest+arity.swift:326
        let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)
CombineLatest+arity.swift:346
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5)
: E3! = nil 0309 var _latestElement4
CombineLatest+arity.swift:327
        let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)
CombineLatest+arity.swift:346
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5)
: E4! = nil 0310 var _latestElement5
CombineLatest+arity.swift:328
        let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5)
CombineLatest+arity.swift:346
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5)
: E5! = nil 0311 0312 init
CombineLatest+arity.swift:372
        let sink = CombineLatestSink5_(parent: self, observer: observer)
(parent: Parent, observer: O) { 0313 _parent = parent 0314 super.init(arity: 5, observer: observer) 0315 } 0316 0317 func run
CombineLatest+arity.swift:373
        sink.disposable = sink.run()
() -> Disposable { 0318 let subscription1 = SingleAssignmentDisposable() 0319 let subscription2 = SingleAssignmentDisposable() 0320 let subscription3 = SingleAssignmentDisposable() 0321 let subscription4 = SingleAssignmentDisposable() 0322 let subscription5 = SingleAssignmentDisposable() 0323 0324 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1) 0325 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2) 0326 let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3) 0327 let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4) 0328 let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5) 0329 0330 subscription1.disposable = _parent._source1.subscribe(observer1) 0331 subscription2.disposable = _parent._source2.subscribe(observer2) 0332 subscription3.disposable = _parent._source3.subscribe(observer3) 0333 subscription4.disposable = _parent._source4.subscribe(observer4) 0334 subscription5.disposable = _parent._source5.subscribe(observer5) 0335 0336 return CompositeDisposable(disposables: [ 0337 subscription1, 0338 subscription2, 0339 subscription3, 0340 subscription4, 0341 subscription5 0342 ]) 0343 } 0344 0345 override func getResult() throws -> R { 0346 return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5) 0347 } 0348 } 0349 0350 class CombineLatest5
CombineLatest+arity.swift:293
        return CombineLatest5(
CombineLatest+arity.swift:302
    typealias Parent = CombineLatest5<E1, E2, E3, E4, E5, R>
<E1
CombineLatest+arity.swift:351
    typealias ResultSelector = (E1, E2, E3, E4, E5) throws -> R
CombineLatest+arity.swift:353
    let _source1: Observable<E1>
CombineLatest+arity.swift:361
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, resultSelector: ResultSelector) {
, E2
CombineLatest+arity.swift:351
    typealias ResultSelector = (E1, E2, E3, E4, E5) throws -> R
CombineLatest+arity.swift:354
    let _source2: Observable<E2>
CombineLatest+arity.swift:361
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, resultSelector: ResultSelector) {
, E3
CombineLatest+arity.swift:351
    typealias ResultSelector = (E1, E2, E3, E4, E5) throws -> R
CombineLatest+arity.swift:355
    let _source3: Observable<E3>
CombineLatest+arity.swift:361
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, resultSelector: ResultSelector) {
, E4
CombineLatest+arity.swift:351
    typealias ResultSelector = (E1, E2, E3, E4, E5) throws -> R
CombineLatest+arity.swift:356
    let _source4: Observable<E4>
CombineLatest+arity.swift:361
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, resultSelector: ResultSelector) {
, E5
CombineLatest+arity.swift:351
    typealias ResultSelector = (E1, E2, E3, E4, E5) throws -> R
CombineLatest+arity.swift:357
    let _source5: Observable<E5>
CombineLatest+arity.swift:361
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, resultSelector: ResultSelector) {
, R
CombineLatest+arity.swift:350
class CombineLatest5<E1, E2, E3, E4, E5, R> : Producer<R> {
CombineLatest+arity.swift:351
    typealias ResultSelector = (E1, E2, E3, E4, E5) throws -> R
CombineLatest+arity.swift:371
    override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable {
> : Producer<R> { 0351 typealias ResultSelector
CombineLatest+arity.swift:359
    let _resultSelector: ResultSelector
CombineLatest+arity.swift:361
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, resultSelector: ResultSelector) {
= (E1, E2, E3, E4, E5) throws -> R 0352 0353 let _source1
CombineLatest+arity.swift:330
         subscription1.disposable = _parent._source1.subscribe(observer1)
CombineLatest+arity.swift:362
        _source1 = source1
: Observable<E1> 0354 let _source2
CombineLatest+arity.swift:331
         subscription2.disposable = _parent._source2.subscribe(observer2)
CombineLatest+arity.swift:363
        _source2 = source2
: Observable<E2> 0355 let _source3
CombineLatest+arity.swift:332
         subscription3.disposable = _parent._source3.subscribe(observer3)
CombineLatest+arity.swift:364
        _source3 = source3
: Observable<E3> 0356 let _source4
CombineLatest+arity.swift:333
         subscription4.disposable = _parent._source4.subscribe(observer4)
CombineLatest+arity.swift:365
        _source4 = source4
: Observable<E4> 0357 let _source5
CombineLatest+arity.swift:334
         subscription5.disposable = _parent._source5.subscribe(observer5)
CombineLatest+arity.swift:366
        _source5 = source5
: Observable<E5> 0358 0359 let _resultSelector
CombineLatest+arity.swift:346
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5)
CombineLatest+arity.swift:368
        _resultSelector = resultSelector
: ResultSelector 0360 0361 init
CombineLatest+arity.swift:293
        return CombineLatest5(
(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, resultSelector: ResultSelector) { 0362 _source1 = source1 0363 _source2 = source2 0364 _source3 = source3 0365 _source4 = source4 0366 _source5 = source5 0367 0368 _resultSelector = resultSelector 0369 } 0370 0371 override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable { 0372 let sink = CombineLatestSink5_(parent: self, observer: observer) 0373 sink.disposable = sink.run() 0374 return sink 0375 } 0376 } 0377 0378 0379 0380 // 6 0381 0382 extension Observable { 0383 /** 0384 Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. 0385 0386 - seealso: [combineLatest operator on reactivex.io](http://reactivex.io/documentation/operators/combinelatest.html) 0387 0388 - parameter resultSelector: Function to invoke whenever any of the sources produces an element. 0389 - returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function. 0390 */ 0391 @warn_unused_result(message="http://git.io/rxs.uo") 0392 public static func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType> 0393 (source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E) throws -> E) 0394 -> Observable<E> { 0395 return CombineLatest6( 0396 source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(), source6: source6.asObservable(), 0397 resultSelector: resultSelector 0398 ) 0399 } 0400 } 0401 0402 class CombineLatestSink6_
CombineLatest+arity.swift:481
        let sink = CombineLatestSink6_(parent: self, observer: observer)
<E1
CombineLatest+arity.swift:404
    typealias Parent = CombineLatest6<E1, E2, E3, E4, E5, E6, R>
CombineLatest+arity.swift:408
    var _latestElement1: E1! = nil
CombineLatest+arity.swift:428
        let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)
, E2
CombineLatest+arity.swift:404
    typealias Parent = CombineLatest6<E1, E2, E3, E4, E5, E6, R>
CombineLatest+arity.swift:409
    var _latestElement2: E2! = nil
CombineLatest+arity.swift:429
        let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)
, E3
CombineLatest+arity.swift:404
    typealias Parent = CombineLatest6<E1, E2, E3, E4, E5, E6, R>
CombineLatest+arity.swift:410
    var _latestElement3: E3! = nil
CombineLatest+arity.swift:430
        let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)
, E4
CombineLatest+arity.swift:404
    typealias Parent = CombineLatest6<E1, E2, E3, E4, E5, E6, R>
CombineLatest+arity.swift:411
    var _latestElement4: E4! = nil
CombineLatest+arity.swift:431
        let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)
, E5
CombineLatest+arity.swift:404
    typealias Parent = CombineLatest6<E1, E2, E3, E4, E5, E6, R>
CombineLatest+arity.swift:412
    var _latestElement5: E5! = nil
CombineLatest+arity.swift:432
        let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5)
, E6
CombineLatest+arity.swift:404
    typealias Parent = CombineLatest6<E1, E2, E3, E4, E5, E6, R>
CombineLatest+arity.swift:413
    var _latestElement6: E6! = nil
CombineLatest+arity.swift:433
        let observer6 = CombineLatestObserver(lock: _lock, parent: self, index: 5, setLatestValue: { (e: E6) -> Void in self._latestElement6 = e }, this: subscription6)
, O
CombineLatest+arity.swift:402
class CombineLatestSink6_<E1, E2, E3, E4, E5, E6, O: ObserverType> : CombineLatestSink<O> {
CombineLatest+arity.swift:403
    typealias R = O.E
CombineLatest+arity.swift:415
    init(parent: Parent, observer: O) {
: ObserverType> : CombineLatestSink<O> { 0403 typealias R
CombineLatest+arity.swift:404
    typealias Parent = CombineLatest6<E1, E2, E3, E4, E5, E6, R>
CombineLatest+arity.swift:452
    override func getResult() throws -> R {
= O.E 0404 typealias Parent
CombineLatest+arity.swift:406
    let _parent: Parent
CombineLatest+arity.swift:415
    init(parent: Parent, observer: O) {
= CombineLatest6<E1, E2, E3, E4, E5, E6, R> 0405 0406 let _parent
CombineLatest+arity.swift:416
        _parent = parent
CombineLatest+arity.swift:435
         subscription1.disposable = _parent._source1.subscribe(observer1)
CombineLatest+arity.swift:436
         subscription2.disposable = _parent._source2.subscribe(observer2)
CombineLatest+arity.swift:437
         subscription3.disposable = _parent._source3.subscribe(observer3)
CombineLatest+arity.swift:438
         subscription4.disposable = _parent._source4.subscribe(observer4)
CombineLatest+arity.swift:439
         subscription5.disposable = _parent._source5.subscribe(observer5)
CombineLatest+arity.swift:440
         subscription6.disposable = _parent._source6.subscribe(observer6)
CombineLatest+arity.swift:453
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6)
: Parent 0407 0408 var _latestElement1
CombineLatest+arity.swift:428
        let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)
CombineLatest+arity.swift:453
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6)
: E1! = nil 0409 var _latestElement2
CombineLatest+arity.swift:429
        let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)
CombineLatest+arity.swift:453
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6)
: E2! = nil 0410 var _latestElement3
CombineLatest+arity.swift:430
        let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)
CombineLatest+arity.swift:453
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6)
: E3! = nil 0411 var _latestElement4
CombineLatest+arity.swift:431
        let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)
CombineLatest+arity.swift:453
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6)
: E4! = nil 0412 var _latestElement5
CombineLatest+arity.swift:432
        let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5)
CombineLatest+arity.swift:453
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6)
: E5! = nil 0413 var _latestElement6
CombineLatest+arity.swift:433
        let observer6 = CombineLatestObserver(lock: _lock, parent: self, index: 5, setLatestValue: { (e: E6) -> Void in self._latestElement6 = e }, this: subscription6)
CombineLatest+arity.swift:453
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6)
: E6! = nil 0414 0415 init
CombineLatest+arity.swift:481
        let sink = CombineLatestSink6_(parent: self, observer: observer)
(parent: Parent, observer: O) { 0416 _parent = parent 0417 super.init(arity: 6, observer: observer) 0418 } 0419 0420 func run
CombineLatest+arity.swift:482
        sink.disposable = sink.run()
() -> Disposable { 0421 let subscription1 = SingleAssignmentDisposable() 0422 let subscription2 = SingleAssignmentDisposable() 0423 let subscription3 = SingleAssignmentDisposable() 0424 let subscription4 = SingleAssignmentDisposable() 0425 let subscription5 = SingleAssignmentDisposable() 0426 let subscription6 = SingleAssignmentDisposable() 0427 0428 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1) 0429 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2) 0430 let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3) 0431 let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4) 0432 let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5) 0433 let observer6 = CombineLatestObserver(lock: _lock, parent: self, index: 5, setLatestValue: { (e: E6) -> Void in self._latestElement6 = e }, this: subscription6) 0434 0435 subscription1.disposable = _parent._source1.subscribe(observer1) 0436 subscription2.disposable = _parent._source2.subscribe(observer2) 0437 subscription3.disposable = _parent._source3.subscribe(observer3) 0438 subscription4.disposable = _parent._source4.subscribe(observer4) 0439 subscription5.disposable = _parent._source5.subscribe(observer5) 0440 subscription6.disposable = _parent._source6.subscribe(observer6) 0441 0442 return CompositeDisposable(disposables: [ 0443 subscription1, 0444 subscription2, 0445 subscription3, 0446 subscription4, 0447 subscription5, 0448 subscription6 0449 ]) 0450 } 0451 0452 override func getResult() throws -> R { 0453 return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6) 0454 } 0455 } 0456 0457 class CombineLatest6
CombineLatest+arity.swift:395
        return CombineLatest6(
CombineLatest+arity.swift:404
    typealias Parent = CombineLatest6<E1, E2, E3, E4, E5, E6, R>
<E1
CombineLatest+arity.swift:458
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6) throws -> R
CombineLatest+arity.swift:460
    let _source1: Observable<E1>
CombineLatest+arity.swift:469
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) {
, E2
CombineLatest+arity.swift:458
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6) throws -> R
CombineLatest+arity.swift:461
    let _source2: Observable<E2>
CombineLatest+arity.swift:469
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) {
, E3
CombineLatest+arity.swift:458
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6) throws -> R
CombineLatest+arity.swift:462
    let _source3: Observable<E3>
CombineLatest+arity.swift:469
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) {
, E4
CombineLatest+arity.swift:458
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6) throws -> R
CombineLatest+arity.swift:463
    let _source4: Observable<E4>
CombineLatest+arity.swift:469
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) {
, E5
CombineLatest+arity.swift:458
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6) throws -> R
CombineLatest+arity.swift:464
    let _source5: Observable<E5>
CombineLatest+arity.swift:469
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) {
, E6
CombineLatest+arity.swift:458
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6) throws -> R
CombineLatest+arity.swift:465
    let _source6: Observable<E6>
CombineLatest+arity.swift:469
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) {
, R
CombineLatest+arity.swift:457
class CombineLatest6<E1, E2, E3, E4, E5, E6, R> : Producer<R> {
CombineLatest+arity.swift:458
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6) throws -> R
CombineLatest+arity.swift:480
    override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable {
> : Producer<R> { 0458 typealias ResultSelector
CombineLatest+arity.swift:467
    let _resultSelector: ResultSelector
CombineLatest+arity.swift:469
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) {
= (E1, E2, E3, E4, E5, E6) throws -> R 0459 0460 let _source1
CombineLatest+arity.swift:435
         subscription1.disposable = _parent._source1.subscribe(observer1)
CombineLatest+arity.swift:470
        _source1 = source1
: Observable<E1> 0461 let _source2
CombineLatest+arity.swift:436
         subscription2.disposable = _parent._source2.subscribe(observer2)
CombineLatest+arity.swift:471
        _source2 = source2
: Observable<E2> 0462 let _source3
CombineLatest+arity.swift:437
         subscription3.disposable = _parent._source3.subscribe(observer3)
CombineLatest+arity.swift:472
        _source3 = source3
: Observable<E3> 0463 let _source4
CombineLatest+arity.swift:438
         subscription4.disposable = _parent._source4.subscribe(observer4)
CombineLatest+arity.swift:473
        _source4 = source4
: Observable<E4> 0464 let _source5
CombineLatest+arity.swift:439
         subscription5.disposable = _parent._source5.subscribe(observer5)
CombineLatest+arity.swift:474
        _source5 = source5
: Observable<E5> 0465 let _source6
CombineLatest+arity.swift:440
         subscription6.disposable = _parent._source6.subscribe(observer6)
CombineLatest+arity.swift:475
        _source6 = source6
: Observable<E6> 0466 0467 let _resultSelector
CombineLatest+arity.swift:453
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6)
CombineLatest+arity.swift:477
        _resultSelector = resultSelector
: ResultSelector 0468 0469 init
CombineLatest+arity.swift:395
        return CombineLatest6(
(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, resultSelector: ResultSelector) { 0470 _source1 = source1 0471 _source2 = source2 0472 _source3 = source3 0473 _source4 = source4 0474 _source5 = source5 0475 _source6 = source6 0476 0477 _resultSelector = resultSelector 0478 } 0479 0480 override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable { 0481 let sink = CombineLatestSink6_(parent: self, observer: observer) 0482 sink.disposable = sink.run() 0483 return sink 0484 } 0485 } 0486 0487 0488 0489 // 7 0490 0491 extension Observable { 0492 /** 0493 Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. 0494 0495 - seealso: [combineLatest operator on reactivex.io](http://reactivex.io/documentation/operators/combinelatest.html) 0496 0497 - parameter resultSelector: Function to invoke whenever any of the sources produces an element. 0498 - returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function. 0499 */ 0500 @warn_unused_result(message="http://git.io/rxs.uo") 0501 public static func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, O7: ObservableType> 0502 (source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E) throws -> E) 0503 -> Observable<E> { 0504 return CombineLatest7( 0505 source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(), source6: source6.asObservable(), source7: source7.asObservable(), 0506 resultSelector: resultSelector 0507 ) 0508 } 0509 } 0510 0511 class CombineLatestSink7_
CombineLatest+arity.swift:597
        let sink = CombineLatestSink7_(parent: self, observer: observer)
<E1
CombineLatest+arity.swift:513
    typealias Parent = CombineLatest7<E1, E2, E3, E4, E5, E6, E7, R>
CombineLatest+arity.swift:517
    var _latestElement1: E1! = nil
CombineLatest+arity.swift:539
        let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)
, E2
CombineLatest+arity.swift:513
    typealias Parent = CombineLatest7<E1, E2, E3, E4, E5, E6, E7, R>
CombineLatest+arity.swift:518
    var _latestElement2: E2! = nil
CombineLatest+arity.swift:540
        let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)
, E3
CombineLatest+arity.swift:513
    typealias Parent = CombineLatest7<E1, E2, E3, E4, E5, E6, E7, R>
CombineLatest+arity.swift:519
    var _latestElement3: E3! = nil
CombineLatest+arity.swift:541
        let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)
, E4
CombineLatest+arity.swift:513
    typealias Parent = CombineLatest7<E1, E2, E3, E4, E5, E6, E7, R>
CombineLatest+arity.swift:520
    var _latestElement4: E4! = nil
CombineLatest+arity.swift:542
        let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)
, E5
CombineLatest+arity.swift:513
    typealias Parent = CombineLatest7<E1, E2, E3, E4, E5, E6, E7, R>
CombineLatest+arity.swift:521
    var _latestElement5: E5! = nil
CombineLatest+arity.swift:543
        let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5)
, E6
CombineLatest+arity.swift:513
    typealias Parent = CombineLatest7<E1, E2, E3, E4, E5, E6, E7, R>
CombineLatest+arity.swift:522
    var _latestElement6: E6! = nil
CombineLatest+arity.swift:544
        let observer6 = CombineLatestObserver(lock: _lock, parent: self, index: 5, setLatestValue: { (e: E6) -> Void in self._latestElement6 = e }, this: subscription6)
, E7
CombineLatest+arity.swift:513
    typealias Parent = CombineLatest7<E1, E2, E3, E4, E5, E6, E7, R>
CombineLatest+arity.swift:523
    var _latestElement7: E7! = nil
CombineLatest+arity.swift:545
        let observer7 = CombineLatestObserver(lock: _lock, parent: self, index: 6, setLatestValue: { (e: E7) -> Void in self._latestElement7 = e }, this: subscription7)
, O
CombineLatest+arity.swift:511
class CombineLatestSink7_<E1, E2, E3, E4, E5, E6, E7, O: ObserverType> : CombineLatestSink<O> {
CombineLatest+arity.swift:512
    typealias R = O.E
CombineLatest+arity.swift:525
    init(parent: Parent, observer: O) {
: ObserverType> : CombineLatestSink<O> { 0512 typealias R
CombineLatest+arity.swift:513
    typealias Parent = CombineLatest7<E1, E2, E3, E4, E5, E6, E7, R>
CombineLatest+arity.swift:566
    override func getResult() throws -> R {
= O.E 0513 typealias Parent
CombineLatest+arity.swift:515
    let _parent: Parent
CombineLatest+arity.swift:525
    init(parent: Parent, observer: O) {
= CombineLatest7<E1, E2, E3, E4, E5, E6, E7, R> 0514 0515 let _parent
CombineLatest+arity.swift:526
        _parent = parent
CombineLatest+arity.swift:547
         subscription1.disposable = _parent._source1.subscribe(observer1)
CombineLatest+arity.swift:548
         subscription2.disposable = _parent._source2.subscribe(observer2)
CombineLatest+arity.swift:549
         subscription3.disposable = _parent._source3.subscribe(observer3)
CombineLatest+arity.swift:550
         subscription4.disposable = _parent._source4.subscribe(observer4)
CombineLatest+arity.swift:551
         subscription5.disposable = _parent._source5.subscribe(observer5)
CombineLatest+arity.swift:552
         subscription6.disposable = _parent._source6.subscribe(observer6)
CombineLatest+arity.swift:553
         subscription7.disposable = _parent._source7.subscribe(observer7)
CombineLatest+arity.swift:567
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7)
: Parent 0516 0517 var _latestElement1
CombineLatest+arity.swift:539
        let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)
CombineLatest+arity.swift:567
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7)
: E1! = nil 0518 var _latestElement2
CombineLatest+arity.swift:540
        let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)
CombineLatest+arity.swift:567
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7)
: E2! = nil 0519 var _latestElement3
CombineLatest+arity.swift:541
        let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)
CombineLatest+arity.swift:567
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7)
: E3! = nil 0520 var _latestElement4
CombineLatest+arity.swift:542
        let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)
CombineLatest+arity.swift:567
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7)
: E4! = nil 0521 var _latestElement5
CombineLatest+arity.swift:543
        let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5)
CombineLatest+arity.swift:567
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7)
: E5! = nil 0522 var _latestElement6
CombineLatest+arity.swift:544
        let observer6 = CombineLatestObserver(lock: _lock, parent: self, index: 5, setLatestValue: { (e: E6) -> Void in self._latestElement6 = e }, this: subscription6)
CombineLatest+arity.swift:567
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7)
: E6! = nil 0523 var _latestElement7
CombineLatest+arity.swift:545
        let observer7 = CombineLatestObserver(lock: _lock, parent: self, index: 6, setLatestValue: { (e: E7) -> Void in self._latestElement7 = e }, this: subscription7)
CombineLatest+arity.swift:567
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7)
: E7! = nil 0524 0525 init
CombineLatest+arity.swift:597
        let sink = CombineLatestSink7_(parent: self, observer: observer)
(parent: Parent, observer: O) { 0526 _parent = parent 0527 super.init(arity: 7, observer: observer) 0528 } 0529 0530 func run
CombineLatest+arity.swift:598
        sink.disposable = sink.run()
() -> Disposable { 0531 let subscription1 = SingleAssignmentDisposable() 0532 let subscription2 = SingleAssignmentDisposable() 0533 let subscription3 = SingleAssignmentDisposable() 0534 let subscription4 = SingleAssignmentDisposable() 0535 let subscription5 = SingleAssignmentDisposable() 0536 let subscription6 = SingleAssignmentDisposable() 0537 let subscription7 = SingleAssignmentDisposable() 0538 0539 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1) 0540 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2) 0541 let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3) 0542 let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4) 0543 let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5) 0544 let observer6 = CombineLatestObserver(lock: _lock, parent: self, index: 5, setLatestValue: { (e: E6) -> Void in self._latestElement6 = e }, this: subscription6) 0545 let observer7 = CombineLatestObserver(lock: _lock, parent: self, index: 6, setLatestValue: { (e: E7) -> Void in self._latestElement7 = e }, this: subscription7) 0546 0547 subscription1.disposable = _parent._source1.subscribe(observer1) 0548 subscription2.disposable = _parent._source2.subscribe(observer2) 0549 subscription3.disposable = _parent._source3.subscribe(observer3) 0550 subscription4.disposable = _parent._source4.subscribe(observer4) 0551 subscription5.disposable = _parent._source5.subscribe(observer5) 0552 subscription6.disposable = _parent._source6.subscribe(observer6) 0553 subscription7.disposable = _parent._source7.subscribe(observer7) 0554 0555 return CompositeDisposable(disposables: [ 0556 subscription1, 0557 subscription2, 0558 subscription3, 0559 subscription4, 0560 subscription5, 0561 subscription6, 0562 subscription7 0563 ]) 0564 } 0565 0566 override func getResult() throws -> R { 0567 return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7) 0568 } 0569 } 0570 0571 class CombineLatest7
CombineLatest+arity.swift:504
        return CombineLatest7(
CombineLatest+arity.swift:513
    typealias Parent = CombineLatest7<E1, E2, E3, E4, E5, E6, E7, R>
<E1
CombineLatest+arity.swift:572
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
CombineLatest+arity.swift:574
    let _source1: Observable<E1>
CombineLatest+arity.swift:584
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
, E2
CombineLatest+arity.swift:572
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
CombineLatest+arity.swift:575
    let _source2: Observable<E2>
CombineLatest+arity.swift:584
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
, E3
CombineLatest+arity.swift:572
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
CombineLatest+arity.swift:576
    let _source3: Observable<E3>
CombineLatest+arity.swift:584
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
, E4
CombineLatest+arity.swift:572
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
CombineLatest+arity.swift:577
    let _source4: Observable<E4>
CombineLatest+arity.swift:584
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
, E5
CombineLatest+arity.swift:572
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
CombineLatest+arity.swift:578
    let _source5: Observable<E5>
CombineLatest+arity.swift:584
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
, E6
CombineLatest+arity.swift:572
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
CombineLatest+arity.swift:579
    let _source6: Observable<E6>
CombineLatest+arity.swift:584
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
, E7
CombineLatest+arity.swift:572
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
CombineLatest+arity.swift:580
    let _source7: Observable<E7>
CombineLatest+arity.swift:584
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
, R
CombineLatest+arity.swift:571
class CombineLatest7<E1, E2, E3, E4, E5, E6, E7, R> : Producer<R> {
CombineLatest+arity.swift:572
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7) throws -> R
CombineLatest+arity.swift:596
    override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable {
> : Producer<R> { 0572 typealias ResultSelector
CombineLatest+arity.swift:582
    let _resultSelector: ResultSelector
CombineLatest+arity.swift:584
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) {
= (E1, E2, E3, E4, E5, E6, E7) throws -> R 0573 0574 let _source1
CombineLatest+arity.swift:547
         subscription1.disposable = _parent._source1.subscribe(observer1)
CombineLatest+arity.swift:585
        _source1 = source1
: Observable<E1> 0575 let _source2
CombineLatest+arity.swift:548
         subscription2.disposable = _parent._source2.subscribe(observer2)
CombineLatest+arity.swift:586
        _source2 = source2
: Observable<E2> 0576 let _source3
CombineLatest+arity.swift:549
         subscription3.disposable = _parent._source3.subscribe(observer3)
CombineLatest+arity.swift:587
        _source3 = source3
: Observable<E3> 0577 let _source4
CombineLatest+arity.swift:550
         subscription4.disposable = _parent._source4.subscribe(observer4)
CombineLatest+arity.swift:588
        _source4 = source4
: Observable<E4> 0578 let _source5
CombineLatest+arity.swift:551
         subscription5.disposable = _parent._source5.subscribe(observer5)
CombineLatest+arity.swift:589
        _source5 = source5
: Observable<E5> 0579 let _source6
CombineLatest+arity.swift:552
         subscription6.disposable = _parent._source6.subscribe(observer6)
CombineLatest+arity.swift:590
        _source6 = source6
: Observable<E6> 0580 let _source7
CombineLatest+arity.swift:553
         subscription7.disposable = _parent._source7.subscribe(observer7)
CombineLatest+arity.swift:591
        _source7 = source7
: Observable<E7> 0581 0582 let _resultSelector
CombineLatest+arity.swift:567
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7)
CombineLatest+arity.swift:593
        _resultSelector = resultSelector
: ResultSelector 0583 0584 init
CombineLatest+arity.swift:504
        return CombineLatest7(
(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, resultSelector: ResultSelector) { 0585 _source1 = source1 0586 _source2 = source2 0587 _source3 = source3 0588 _source4 = source4 0589 _source5 = source5 0590 _source6 = source6 0591 _source7 = source7 0592 0593 _resultSelector = resultSelector 0594 } 0595 0596 override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable { 0597 let sink = CombineLatestSink7_(parent: self, observer: observer) 0598 sink.disposable = sink.run() 0599 return sink 0600 } 0601 } 0602 0603 0604 0605 // 8 0606 0607 extension Observable { 0608 /** 0609 Merges the specified observable sequences into one observable sequence by using the selector function whenever any of the observable sequences produces an element. 0610 0611 - seealso: [combineLatest operator on reactivex.io](http://reactivex.io/documentation/operators/combinelatest.html) 0612 0613 - parameter resultSelector: Function to invoke whenever any of the sources produces an element. 0614 - returns: An observable sequence containing the result of combining elements of the sources using the specified result selector function. 0615 */ 0616 @warn_unused_result(message="http://git.io/rxs.uo") 0617 public static func combineLatest<O1: ObservableType, O2: ObservableType, O3: ObservableType, O4: ObservableType, O5: ObservableType, O6: ObservableType, O7: ObservableType, O8: ObservableType> 0618 (source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ source8: O8, resultSelector: (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E, O8.E) throws -> E) 0619 -> Observable<E> { 0620 return CombineLatest8( 0621 source1: source1.asObservable(), source2: source2.asObservable(), source3: source3.asObservable(), source4: source4.asObservable(), source5: source5.asObservable(), source6: source6.asObservable(), source7: source7.asObservable(), source8: source8.asObservable(), 0622 resultSelector: resultSelector 0623 ) 0624 } 0625 } 0626 0627 class CombineLatestSink8_
CombineLatest+arity.swift:720
        let sink = CombineLatestSink8_(parent: self, observer: observer)
<E1
CombineLatest+arity.swift:629
    typealias Parent = CombineLatest8<E1, E2, E3, E4, E5, E6, E7, E8, R>
CombineLatest+arity.swift:633
    var _latestElement1: E1! = nil
CombineLatest+arity.swift:657
        let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)
, E2
CombineLatest+arity.swift:629
    typealias Parent = CombineLatest8<E1, E2, E3, E4, E5, E6, E7, E8, R>
CombineLatest+arity.swift:634
    var _latestElement2: E2! = nil
CombineLatest+arity.swift:658
        let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)
, E3
CombineLatest+arity.swift:629
    typealias Parent = CombineLatest8<E1, E2, E3, E4, E5, E6, E7, E8, R>
CombineLatest+arity.swift:635
    var _latestElement3: E3! = nil
CombineLatest+arity.swift:659
        let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)
, E4
CombineLatest+arity.swift:629
    typealias Parent = CombineLatest8<E1, E2, E3, E4, E5, E6, E7, E8, R>
CombineLatest+arity.swift:636
    var _latestElement4: E4! = nil
CombineLatest+arity.swift:660
        let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)
, E5
CombineLatest+arity.swift:629
    typealias Parent = CombineLatest8<E1, E2, E3, E4, E5, E6, E7, E8, R>
CombineLatest+arity.swift:637
    var _latestElement5: E5! = nil
CombineLatest+arity.swift:661
        let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5)
, E6
CombineLatest+arity.swift:629
    typealias Parent = CombineLatest8<E1, E2, E3, E4, E5, E6, E7, E8, R>
CombineLatest+arity.swift:638
    var _latestElement6: E6! = nil
CombineLatest+arity.swift:662
        let observer6 = CombineLatestObserver(lock: _lock, parent: self, index: 5, setLatestValue: { (e: E6) -> Void in self._latestElement6 = e }, this: subscription6)
, E7
CombineLatest+arity.swift:629
    typealias Parent = CombineLatest8<E1, E2, E3, E4, E5, E6, E7, E8, R>
CombineLatest+arity.swift:639
    var _latestElement7: E7! = nil
CombineLatest+arity.swift:663
        let observer7 = CombineLatestObserver(lock: _lock, parent: self, index: 6, setLatestValue: { (e: E7) -> Void in self._latestElement7 = e }, this: subscription7)
, E8
CombineLatest+arity.swift:629
    typealias Parent = CombineLatest8<E1, E2, E3, E4, E5, E6, E7, E8, R>
CombineLatest+arity.swift:640
    var _latestElement8: E8! = nil
CombineLatest+arity.swift:664
        let observer8 = CombineLatestObserver(lock: _lock, parent: self, index: 7, setLatestValue: { (e: E8) -> Void in self._latestElement8 = e }, this: subscription8)
, O
CombineLatest+arity.swift:627
class CombineLatestSink8_<E1, E2, E3, E4, E5, E6, E7, E8, O: ObserverType> : CombineLatestSink<O> {
CombineLatest+arity.swift:628
    typealias R = O.E
CombineLatest+arity.swift:642
    init(parent: Parent, observer: O) {
: ObserverType> : CombineLatestSink<O> { 0628 typealias R
CombineLatest+arity.swift:629
    typealias Parent = CombineLatest8<E1, E2, E3, E4, E5, E6, E7, E8, R>
CombineLatest+arity.swift:687
    override func getResult() throws -> R {
= O.E 0629 typealias Parent
CombineLatest+arity.swift:631
    let _parent: Parent
CombineLatest+arity.swift:642
    init(parent: Parent, observer: O) {
= CombineLatest8<E1, E2, E3, E4, E5, E6, E7, E8, R> 0630 0631 let _parent
CombineLatest+arity.swift:643
        _parent = parent
CombineLatest+arity.swift:666
         subscription1.disposable = _parent._source1.subscribe(observer1)
CombineLatest+arity.swift:667
         subscription2.disposable = _parent._source2.subscribe(observer2)
CombineLatest+arity.swift:668
         subscription3.disposable = _parent._source3.subscribe(observer3)
CombineLatest+arity.swift:669
         subscription4.disposable = _parent._source4.subscribe(observer4)
CombineLatest+arity.swift:670
         subscription5.disposable = _parent._source5.subscribe(observer5)
CombineLatest+arity.swift:671
         subscription6.disposable = _parent._source6.subscribe(observer6)
CombineLatest+arity.swift:672
         subscription7.disposable = _parent._source7.subscribe(observer7)
CombineLatest+arity.swift:673
         subscription8.disposable = _parent._source8.subscribe(observer8)
CombineLatest+arity.swift:688
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7, _latestElement8)
: Parent 0632 0633 var _latestElement1
CombineLatest+arity.swift:657
        let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)
CombineLatest+arity.swift:688
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7, _latestElement8)
: E1! = nil 0634 var _latestElement2
CombineLatest+arity.swift:658
        let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)
CombineLatest+arity.swift:688
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7, _latestElement8)
: E2! = nil 0635 var _latestElement3
CombineLatest+arity.swift:659
        let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)
CombineLatest+arity.swift:688
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7, _latestElement8)
: E3! = nil 0636 var _latestElement4
CombineLatest+arity.swift:660
        let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)
CombineLatest+arity.swift:688
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7, _latestElement8)
: E4! = nil 0637 var _latestElement5
CombineLatest+arity.swift:661
        let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5)
CombineLatest+arity.swift:688
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7, _latestElement8)
: E5! = nil 0638 var _latestElement6
CombineLatest+arity.swift:662
        let observer6 = CombineLatestObserver(lock: _lock, parent: self, index: 5, setLatestValue: { (e: E6) -> Void in self._latestElement6 = e }, this: subscription6)
CombineLatest+arity.swift:688
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7, _latestElement8)
: E6! = nil 0639 var _latestElement7
CombineLatest+arity.swift:663
        let observer7 = CombineLatestObserver(lock: _lock, parent: self, index: 6, setLatestValue: { (e: E7) -> Void in self._latestElement7 = e }, this: subscription7)
CombineLatest+arity.swift:688
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7, _latestElement8)
: E7! = nil 0640 var _latestElement8
CombineLatest+arity.swift:664
        let observer8 = CombineLatestObserver(lock: _lock, parent: self, index: 7, setLatestValue: { (e: E8) -> Void in self._latestElement8 = e }, this: subscription8)
CombineLatest+arity.swift:688
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7, _latestElement8)
: E8! = nil 0641 0642 init
CombineLatest+arity.swift:720
        let sink = CombineLatestSink8_(parent: self, observer: observer)
(parent: Parent, observer: O) { 0643 _parent = parent 0644 super.init(arity: 8, observer: observer) 0645 } 0646 0647 func run
CombineLatest+arity.swift:721
        sink.disposable = sink.run()
() -> Disposable { 0648 let subscription1 = SingleAssignmentDisposable() 0649 let subscription2 = SingleAssignmentDisposable() 0650 let subscription3 = SingleAssignmentDisposable() 0651 let subscription4 = SingleAssignmentDisposable() 0652 let subscription5 = SingleAssignmentDisposable() 0653 let subscription6 = SingleAssignmentDisposable() 0654 let subscription7 = SingleAssignmentDisposable() 0655 let subscription8 = SingleAssignmentDisposable() 0656 0657 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1) 0658 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2) 0659 let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3) 0660 let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4) 0661 let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5) 0662 let observer6 = CombineLatestObserver(lock: _lock, parent: self, index: 5, setLatestValue: { (e: E6) -> Void in self._latestElement6 = e }, this: subscription6) 0663 let observer7 = CombineLatestObserver(lock: _lock, parent: self, index: 6, setLatestValue: { (e: E7) -> Void in self._latestElement7 = e }, this: subscription7) 0664 let observer8 = CombineLatestObserver(lock: _lock, parent: self, index: 7, setLatestValue: { (e: E8) -> Void in self._latestElement8 = e }, this: subscription8) 0665 0666 subscription1.disposable = _parent._source1.subscribe(observer1) 0667 subscription2.disposable = _parent._source2.subscribe(observer2) 0668 subscription3.disposable = _parent._source3.subscribe(observer3) 0669 subscription4.disposable = _parent._source4.subscribe(observer4) 0670 subscription5.disposable = _parent._source5.subscribe(observer5) 0671 subscription6.disposable = _parent._source6.subscribe(observer6) 0672 subscription7.disposable = _parent._source7.subscribe(observer7) 0673 subscription8.disposable = _parent._source8.subscribe(observer8) 0674 0675 return CompositeDisposable(disposables: [ 0676 subscription1, 0677 subscription2, 0678 subscription3, 0679 subscription4, 0680 subscription5, 0681 subscription6, 0682 subscription7, 0683 subscription8 0684 ]) 0685 } 0686 0687 override func getResult() throws -> R { 0688 return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7, _latestElement8) 0689 } 0690 } 0691 0692 class CombineLatest8
CombineLatest+arity.swift:620
        return CombineLatest8(
CombineLatest+arity.swift:629
    typealias Parent = CombineLatest8<E1, E2, E3, E4, E5, E6, E7, E8, R>
<E1
CombineLatest+arity.swift:693
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
CombineLatest+arity.swift:695
    let _source1: Observable<E1>
CombineLatest+arity.swift:706
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, E2
CombineLatest+arity.swift:693
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
CombineLatest+arity.swift:696
    let _source2: Observable<E2>
CombineLatest+arity.swift:706
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, E3
CombineLatest+arity.swift:693
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
CombineLatest+arity.swift:697
    let _source3: Observable<E3>
CombineLatest+arity.swift:706
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, E4
CombineLatest+arity.swift:693
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
CombineLatest+arity.swift:698
    let _source4: Observable<E4>
CombineLatest+arity.swift:706
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, E5
CombineLatest+arity.swift:693
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
CombineLatest+arity.swift:699
    let _source5: Observable<E5>
CombineLatest+arity.swift:706
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, E6
CombineLatest+arity.swift:693
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
CombineLatest+arity.swift:700
    let _source6: Observable<E6>
CombineLatest+arity.swift:706
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, E7
CombineLatest+arity.swift:693
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
CombineLatest+arity.swift:701
    let _source7: Observable<E7>
CombineLatest+arity.swift:706
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, E8
CombineLatest+arity.swift:693
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
CombineLatest+arity.swift:702
    let _source8: Observable<E8>
CombineLatest+arity.swift:706
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
, R
CombineLatest+arity.swift:692
class CombineLatest8<E1, E2, E3, E4, E5, E6, E7, E8, R> : Producer<R> {
CombineLatest+arity.swift:693
    typealias ResultSelector = (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R
CombineLatest+arity.swift:719
    override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable {
> : Producer<R> { 0693 typealias ResultSelector
CombineLatest+arity.swift:704
    let _resultSelector: ResultSelector
CombineLatest+arity.swift:706
    init(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) {
= (E1, E2, E3, E4, E5, E6, E7, E8) throws -> R 0694 0695 let _source1
CombineLatest+arity.swift:666
         subscription1.disposable = _parent._source1.subscribe(observer1)
CombineLatest+arity.swift:707
        _source1 = source1
: Observable<E1> 0696 let _source2
CombineLatest+arity.swift:667
         subscription2.disposable = _parent._source2.subscribe(observer2)
CombineLatest+arity.swift:708
        _source2 = source2
: Observable<E2> 0697 let _source3
CombineLatest+arity.swift:668
         subscription3.disposable = _parent._source3.subscribe(observer3)
CombineLatest+arity.swift:709
        _source3 = source3
: Observable<E3> 0698 let _source4
CombineLatest+arity.swift:669
         subscription4.disposable = _parent._source4.subscribe(observer4)
CombineLatest+arity.swift:710
        _source4 = source4
: Observable<E4> 0699 let _source5
CombineLatest+arity.swift:670
         subscription5.disposable = _parent._source5.subscribe(observer5)
CombineLatest+arity.swift:711
        _source5 = source5
: Observable<E5> 0700 let _source6
CombineLatest+arity.swift:671
         subscription6.disposable = _parent._source6.subscribe(observer6)
CombineLatest+arity.swift:712
        _source6 = source6
: Observable<E6> 0701 let _source7
CombineLatest+arity.swift:672
         subscription7.disposable = _parent._source7.subscribe(observer7)
CombineLatest+arity.swift:713
        _source7 = source7
: Observable<E7> 0702 let _source8
CombineLatest+arity.swift:673
         subscription8.disposable = _parent._source8.subscribe(observer8)
CombineLatest+arity.swift:714
        _source8 = source8
: Observable<E8> 0703 0704 let _resultSelector
CombineLatest+arity.swift:688
        return try _parent._resultSelector(_latestElement1, _latestElement2, _latestElement3, _latestElement4, _latestElement5, _latestElement6, _latestElement7, _latestElement8)
CombineLatest+arity.swift:716
        _resultSelector = resultSelector
: ResultSelector 0705 0706 init
CombineLatest+arity.swift:620
        return CombineLatest8(
(source1: Observable<E1>, source2: Observable<E2>, source3: Observable<E3>, source4: Observable<E4>, source5: Observable<E5>, source6: Observable<E6>, source7: Observable<E7>, source8: Observable<E8>, resultSelector: ResultSelector) { 0707 _source1 = source1 0708 _source2 = source2 0709 _source3 = source3 0710 _source4 = source4 0711 _source5 = source5 0712 _source6 = source6 0713 _source7 = source7 0714 _source8 = source8 0715 0716 _resultSelector = resultSelector 0717 } 0718 0719 override func run<O: ObserverType where O.E == R>(observer: O) -> Disposable { 0720 let sink = CombineLatestSink8_(parent: self, observer: observer) 0721 sink.disposable = sink.run() 0722 return sink 0723 } 0724 } 0725 0726 0727