0001 // 0002 // CombineLatest.swift 0003 // Rx 0004 // 0005 // Created by Krunoslav Zaher on 3/21/15. 0006 // Copyright © 2015 Krunoslav Zaher. All rights reserved. 0007 // 0008 0009 import Foundation 0010 0011 protocol CombineLatestProtocol: class { 0012 func next
CombineLatest.swift:19 , CombineLatestProtocol {CombineLatest.swift:102 private let _parent: CombineLatestProtocolCombineLatest.swift:109 init(lock: NSRecursiveLock, parent: CombineLatestProtocol, index: Int, setLatestValue: ValueSetter, this: Disposable) {(index: Int) 0013 func fail
CombineLatest.swift:125 _parent.next(_index)(error: ErrorType) 0014 func done
CombineLatest.swift:128 _parent.fail(error)(index: Int) 0015 } 0016 0017 class CombineLatestSink
CombineLatest.swift:131 _parent.done(_index)<O
CombineLatest+arity.swift:36 class CombineLatestSink2_<E1, E2, O: ObserverType> : CombineLatestSink<O> {CombineLatest+arity.swift:117 class CombineLatestSink3_<E1, E2, E3, O: ObserverType> : CombineLatestSink<O> {CombineLatest+arity.swift:205 class CombineLatestSink4_<E1, E2, E3, E4, O: ObserverType> : CombineLatestSink<O> {CombineLatest+arity.swift:300 class CombineLatestSink5_<E1, E2, E3, E4, E5, O: ObserverType> : CombineLatestSink<O> {CombineLatest+arity.swift:402 class CombineLatestSink6_<E1, E2, E3, E4, E5, E6, O: ObserverType> : CombineLatestSink<O> {CombineLatest+arity.swift:511 class CombineLatestSink7_<E1, E2, E3, E4, E5, E6, E7, O: ObserverType> : CombineLatestSink<O> {CombineLatest+arity.swift:627 class CombineLatestSink8_<E1, E2, E3, E4, E5, E6, E7, E8, O: ObserverType> : CombineLatestSink<O> {: ObserverType> 0018 : Sink<O> 0019 , CombineLatestProtocol { 0020 typealias Element
CombineLatest.swift:18 : Sink<O>CombineLatest.swift:20 typealias Element = O.ECombineLatest.swift:30 init(arity: Int, observer: O) {= O.E 0021 0022 let _lock
CombineLatest.swift:38 func getResult() throws -> Element {= NSRecursiveLock() 0023 0024 private let _arity
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:55 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)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:138 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)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:227 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)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:229 let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)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:324 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)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:326 let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)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:328 let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5)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:429 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)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:431 let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)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:433 let observer6 = CombineLatestObserver(lock: _lock, parent: self, index: 5, setLatestValue: { (e: E6) -> Void in self._latestElement6 = e }, this: subscription6)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:540 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)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:542 let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)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:544 let observer6 = CombineLatestObserver(lock: _lock, parent: self, index: 5, setLatestValue: { (e: E6) -> Void in self._latestElement6 = e }, this: subscription6)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:657 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)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:659 let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)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:661 let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5)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:663 let observer7 = CombineLatestObserver(lock: _lock, parent: self, index: 6, setLatestValue: { (e: E7) -> Void in self._latestElement7 = e }, this: subscription7)CombineLatest+arity.swift:664 let observer8 = CombineLatestObserver(lock: _lock, parent: self, index: 7, setLatestValue: { (e: E8) -> Void in self._latestElement8 = e }, this: subscription8): Int 0025 private var _numberOfValues
CombineLatest.swift:31 _arity = arityCombineLatest.swift:48 if _numberOfValues == _arity {CombineLatest.swift:61 for i in 0 ..< _arity {CombineLatest.swift:88 if _numberOfDone == _arity {= 0 0026 private var _numberOfDone
CombineLatest.swift:45 _numberOfValues += 1CombineLatest.swift:48 if _numberOfValues == _arity {= 0 0027 private var _hasValue
CombineLatest.swift:86 _numberOfDone += 1CombineLatest.swift:88 if _numberOfDone == _arity {: [Bool] 0028 private var _isDone
CombineLatest.swift:32 _hasValue = [Bool](count: arity, repeatedValue: false)CombineLatest.swift:43 if !_hasValue[index] {CombineLatest.swift:44 _hasValue[index] = true: [Bool] 0029 0030 init
CombineLatest.swift:33 _isDone = [Bool](count: arity, repeatedValue: false)CombineLatest.swift:62 if i != index && !_isDone[i] {CombineLatest.swift:81 if _isDone[index] {CombineLatest.swift:85 _isDone[index] = true(arity: Int, observer: O) { 0031 _arity = arity 0032 _hasValue = [Bool](count: arity, repeatedValue: false) 0033 _isDone = [Bool](count: arity, repeatedValue: false) 0034 0035 super.init(observer: observer) 0036 } 0037 0038 func getResult
CombineLatest+arity.swift:47 super.init(arity: 2, observer: observer)CombineLatest+arity.swift:129 super.init(arity: 3, observer: observer)CombineLatest+arity.swift:218 super.init(arity: 4, observer: observer)CombineLatest+arity.swift:314 super.init(arity: 5, observer: observer)CombineLatest+arity.swift:417 super.init(arity: 6, observer: observer)CombineLatest+arity.swift:527 super.init(arity: 7, observer: observer)CombineLatest+arity.swift:644 super.init(arity: 8, observer: observer)() throws -> Element { 0039 abstractMethod() 0040 } 0041 0042 func next(index: Int) { 0043 if !_hasValue[index] { 0044 _hasValue[index] = true 0045 _numberOfValues += 1 0046 } 0047 0048 if _numberOfValues == _arity { 0049 do { 0050 let result = try getResult() 0051 forwardOn(.Next(result)) 0052 } 0053 catch let e { 0054 forwardOn(.Error(e)) 0055 dispose() 0056 } 0057 } 0058 else { 0059 var allOthersDone = true 0060 0061 for i in 0 ..< _arity { 0062 if i != index && !_isDone[i] { 0063 allOthersDone = false 0064 break 0065 } 0066 } 0067 0068 if allOthersDone { 0069 forwardOn(.Completed) 0070 dispose() 0071 } 0072 } 0073 } 0074 0075 func fail(error: ErrorType) { 0076 forwardOn(.Error(error)) 0077 dispose() 0078 } 0079 0080 func done(index: Int) { 0081 if _isDone[index] { 0082 return 0083 } 0084 0085 _isDone[index] = true 0086 _numberOfDone += 1 0087 0088 if _numberOfDone == _arity { 0089 forwardOn(.Completed) 0090 dispose() 0091 } 0092 } 0093 } 0094 0095 class CombineLatestObserver
CombineLatest.swift:50 let result = try getResult()<ElementType
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:55 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)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:138 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)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:227 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)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:229 let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)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:324 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)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:326 let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)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:328 let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5)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:429 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)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:431 let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)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:433 let observer6 = CombineLatestObserver(lock: _lock, parent: self, index: 5, setLatestValue: { (e: E6) -> Void in self._latestElement6 = e }, this: subscription6)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:540 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)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:542 let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)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:544 let observer6 = CombineLatestObserver(lock: _lock, parent: self, index: 5, setLatestValue: { (e: E6) -> Void in self._latestElement6 = e }, this: subscription6)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:657 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)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:659 let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)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:661 let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5)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:663 let observer7 = CombineLatestObserver(lock: _lock, parent: self, index: 6, setLatestValue: { (e: E7) -> Void in self._latestElement7 = e }, this: subscription7)CombineLatest+arity.swift:664 let observer8 = CombineLatestObserver(lock: _lock, parent: self, index: 7, setLatestValue: { (e: E8) -> Void in self._latestElement8 = e }, this: subscription8)> 0096 : ObserverType 0097 , LockOwnerType 0098 , SynchronizedOnType { 0099 typealias Element
CombineLatest.swift:99 typealias Element = ElementType= ElementType 0100 typealias ValueSetter
CombineLatest.swift:100 typealias ValueSetter = (Element) -> VoidCombineLatest.swift:117 func on(event: Event<Element>) {CombineLatest.swift:121 func _synchronized_on(event: Event<Element>) {= (Element) -> Void 0101 0102 private let _parent
CombineLatest.swift:107 private let _setLatestValue: ValueSetterCombineLatest.swift:109 init(lock: NSRecursiveLock, parent: CombineLatestProtocol, index: Int, setLatestValue: ValueSetter, this: Disposable) {: CombineLatestProtocol 0103 0104 let _lock
CombineLatest.swift:111 _parent = parentCombineLatest.swift:125 _parent.next(_index)CombineLatest.swift:128 _parent.fail(error)CombineLatest.swift:131 _parent.done(_index): NSRecursiveLock 0105 private let _index
CombineLatest.swift:110 _lock = lock: Int 0106 private let _this
CombineLatest.swift:112 _index = indexCombineLatest.swift:125 _parent.next(_index)CombineLatest.swift:131 _parent.done(_index): Disposable 0107 private let _setLatestValue
CombineLatest.swift:113 _this = thisCombineLatest.swift:127 _this.dispose()CombineLatest.swift:130 _this.dispose(): ValueSetter 0108 0109 init
CombineLatest.swift:114 _setLatestValue = setLatestValueCombineLatest.swift:124 _setLatestValue(value)(lock: NSRecursiveLock, parent: CombineLatestProtocol, index: Int, setLatestValue: ValueSetter, this: Disposable) { 0110 _lock = lock 0111 _parent = parent 0112 _index = index 0113 _this = this 0114 _setLatestValue = setLatestValue 0115 } 0116 0117 func on(event: Event<Element>) { 0118 synchronizedOn(event) 0119 } 0120 0121 func _synchronized_on(event: Event<Element>) { 0122 switch event { 0123 case .Next(let value): 0124 _setLatestValue(value) 0125 _parent.next(_index) 0126 case .Error(let error): 0127 _this.dispose() 0128 _parent.fail(error) 0129 case .Completed: 0130 _this.dispose() 0131 _parent.done(_index) 0132 } 0133 } 0134 }
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:55 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)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:138 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)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:227 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)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:229 let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)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:324 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)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:326 let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)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:328 let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5)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:429 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)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:431 let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)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:433 let observer6 = CombineLatestObserver(lock: _lock, parent: self, index: 5, setLatestValue: { (e: E6) -> Void in self._latestElement6 = e }, this: subscription6)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:540 let observer2 = CombineLatestObserver(lock: _lock, parent: self, index: 1, setLatestValue: { (e: E2) -> Void in self._latestElement2 = e }, this: subscription2)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:542 let observer4 = CombineLatestObserver(lock: _lock, parent: self, index: 3, setLatestValue: { (e: E4) -> Void in self._latestElement4 = e }, this: subscription4)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:544 let observer6 = CombineLatestObserver(lock: _lock, parent: self, index: 5, setLatestValue: { (e: E6) -> Void in self._latestElement6 = e }, this: subscription6)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:657 let observer1 = CombineLatestObserver(lock: _lock, parent: self, index: 0, setLatestValue: { (e: E1) -> Void in self._latestElement1 = e }, this: subscription1)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:659 let observer3 = CombineLatestObserver(lock: _lock, parent: self, index: 2, setLatestValue: { (e: E3) -> Void in self._latestElement3 = e }, this: subscription3)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:661 let observer5 = CombineLatestObserver(lock: _lock, parent: self, index: 4, setLatestValue: { (e: E5) -> Void in self._latestElement5 = e }, this: subscription5)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:663 let observer7 = CombineLatestObserver(lock: _lock, parent: self, index: 6, setLatestValue: { (e: E7) -> Void in self._latestElement7 = e }, this: subscription7)CombineLatest+arity.swift:664 let observer8 = CombineLatestObserver(lock: _lock, parent: self, index: 7, setLatestValue: { (e: E8) -> Void in self._latestElement8 = e }, this: subscription8)