From 778533276cda1784d82302fb968be5aad126cd01 Mon Sep 17 00:00:00 2001 From: soumyamahunt Date: Wed, 14 Dec 2022 22:39:55 +0530 Subject: [PATCH 1/2] refactor: fix actor isolation bug with protocol conformance on older swift versions --- AsyncObjects.xcodeproj/project.pbxproj | 854 +++++++++--------- .../AsyncObjects/AsyncCountdownEvent.swift | 2 +- Sources/AsyncObjects/AsyncEvent.swift | 3 +- Sources/AsyncObjects/AsyncSemaphore.swift | 4 +- .../Continuation/ContinuableCollection.swift | 2 +- .../ContinuableCollectionActor.swift | 118 +++ 6 files changed, 554 insertions(+), 429 deletions(-) create mode 100644 Sources/AsyncObjects/Continuation/ContinuableCollectionActor.swift diff --git a/AsyncObjects.xcodeproj/project.pbxproj b/AsyncObjects.xcodeproj/project.pbxproj index e96681eb..39b7d6dc 100644 --- a/AsyncObjects.xcodeproj/project.pbxproj +++ b/AsyncObjects.xcodeproj/project.pbxproj @@ -9,11 +9,11 @@ /* Begin PBXAggregateTarget section */ asyncobjects::AsyncObjectsPackageTests::ProductTarget /* AsyncObjectsPackageTests */ = { isa = PBXAggregateTarget; - buildConfigurationList = OBJ_153 /* Build configuration list for PBXAggregateTarget "AsyncObjectsPackageTests" */; + buildConfigurationList = OBJ_155 /* Build configuration list for PBXAggregateTarget "AsyncObjectsPackageTests" */; buildPhases = ( ); dependencies = ( - OBJ_156 /* PBXTargetDependency */, + OBJ_158 /* PBXTargetDependency */, ); name = AsyncObjectsPackageTests; productName = AsyncObjectsPackageTests; @@ -21,112 +21,114 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - BB028CDED6BCD928C0AAF339 /* AsyncObjects.docc in Sources */ = {isa = PBXBuildFile; fileRef = ED492FF628B26125C8C62E41 /* AsyncObjects.docc */; }; - OBJ_121 /* AsyncCountdownEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_11 /* AsyncCountdownEvent.swift */; }; - OBJ_122 /* AsyncEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_12 /* AsyncEvent.swift */; }; - OBJ_123 /* AsyncSemaphore.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_13 /* AsyncSemaphore.swift */; }; - OBJ_124 /* AsyncObject+Clock.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_15 /* AsyncObject+Clock.swift */; }; - OBJ_125 /* AsyncObject+Duration.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_16 /* AsyncObject+Duration.swift */; }; - OBJ_126 /* AsyncObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_17 /* AsyncObject.swift */; }; - OBJ_127 /* CancellationSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_18 /* CancellationSource.swift */; }; - OBJ_128 /* Continuable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_20 /* Continuable.swift */; }; - OBJ_129 /* ContinuableCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_21 /* ContinuableCollection.swift */; }; - OBJ_130 /* GlobalContinuation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_22 /* GlobalContinuation.swift */; }; - OBJ_131 /* TrackableContinuable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_23 /* TrackableContinuable.swift */; }; - OBJ_132 /* TrackedContinuation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_24 /* TrackedContinuation.swift */; }; - OBJ_133 /* Task.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_26 /* Task.swift */; }; - OBJ_134 /* TaskGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_27 /* TaskGroup.swift */; }; - OBJ_135 /* Future.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_28 /* Future.swift */; }; - OBJ_136 /* Exclusible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_30 /* Exclusible.swift */; }; - OBJ_137 /* Locker.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_31 /* Locker.swift */; }; - OBJ_138 /* Loggable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_33 /* Loggable.swift */; }; - OBJ_139 /* TaskOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_34 /* TaskOperation.swift */; }; - OBJ_140 /* TaskQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_35 /* TaskQueue.swift */; }; - OBJ_141 /* TaskTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_36 /* TaskTracker.swift */; }; - OBJ_143 /* OrderedCollections.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = swift-collections::OrderedCollections::Product /* OrderedCollections.framework */; }; - OBJ_151 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; }; - OBJ_162 /* AsyncCountdownEventTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_39 /* AsyncCountdownEventTests.swift */; }; - OBJ_163 /* AsyncEventTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_40 /* AsyncEventTests.swift */; }; - OBJ_164 /* AsyncObjectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_41 /* AsyncObjectTests.swift */; }; - OBJ_165 /* AsyncSemaphoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_42 /* AsyncSemaphoreTests.swift */; }; - OBJ_166 /* CancellationSourceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_43 /* CancellationSourceTests.swift */; }; - OBJ_167 /* LockerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_44 /* LockerTests.swift */; }; - OBJ_168 /* NonThrowingFutureTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_45 /* NonThrowingFutureTests.swift */; }; - OBJ_169 /* StandardLibraryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_46 /* StandardLibraryTests.swift */; }; - OBJ_170 /* TaskOperationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_47 /* TaskOperationTests.swift */; }; - OBJ_171 /* TaskQueueTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_48 /* TaskQueueTests.swift */; }; - OBJ_172 /* ThrowingFutureTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_49 /* ThrowingFutureTests.swift */; }; - OBJ_173 /* TrackedContinuationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_50 /* TrackedContinuationTests.swift */; }; - OBJ_174 /* XCTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_51 /* XCTestCase.swift */; }; - OBJ_176 /* AsyncObjects.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = asyncobjects::AsyncObjects::Product /* AsyncObjects.framework */; }; - OBJ_177 /* OrderedCollections.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = swift-collections::OrderedCollections::Product /* OrderedCollections.framework */; }; - OBJ_184 /* _HashTable+Bucket.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_58 /* _HashTable+Bucket.swift */; }; - OBJ_185 /* _HashTable+BucketIterator.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_59 /* _HashTable+BucketIterator.swift */; }; - OBJ_186 /* _HashTable+Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_60 /* _HashTable+Constants.swift */; }; - OBJ_187 /* _HashTable+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_61 /* _HashTable+CustomStringConvertible.swift */; }; - OBJ_188 /* _HashTable+Testing.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_62 /* _HashTable+Testing.swift */; }; - OBJ_189 /* _HashTable+UnsafeHandle.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_63 /* _HashTable+UnsafeHandle.swift */; }; - OBJ_190 /* _HashTable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_64 /* _HashTable.swift */; }; - OBJ_191 /* _Hashtable+Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_65 /* _Hashtable+Header.swift */; }; - OBJ_192 /* OrderedDictionary+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_67 /* OrderedDictionary+Codable.swift */; }; - OBJ_193 /* OrderedDictionary+CustomDebugStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_68 /* OrderedDictionary+CustomDebugStringConvertible.swift */; }; - OBJ_194 /* OrderedDictionary+CustomReflectable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_69 /* OrderedDictionary+CustomReflectable.swift */; }; - OBJ_195 /* OrderedDictionary+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_70 /* OrderedDictionary+CustomStringConvertible.swift */; }; - OBJ_196 /* OrderedDictionary+Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_71 /* OrderedDictionary+Deprecations.swift */; }; - OBJ_197 /* OrderedDictionary+Elements+SubSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_72 /* OrderedDictionary+Elements+SubSequence.swift */; }; - OBJ_198 /* OrderedDictionary+Elements.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_73 /* OrderedDictionary+Elements.swift */; }; - OBJ_199 /* OrderedDictionary+Equatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_74 /* OrderedDictionary+Equatable.swift */; }; - OBJ_200 /* OrderedDictionary+ExpressibleByDictionaryLiteral.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_75 /* OrderedDictionary+ExpressibleByDictionaryLiteral.swift */; }; - OBJ_201 /* OrderedDictionary+Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_76 /* OrderedDictionary+Hashable.swift */; }; - OBJ_202 /* OrderedDictionary+Initializers.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_77 /* OrderedDictionary+Initializers.swift */; }; - OBJ_203 /* OrderedDictionary+Invariants.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_78 /* OrderedDictionary+Invariants.swift */; }; - OBJ_204 /* OrderedDictionary+Partial MutableCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_79 /* OrderedDictionary+Partial MutableCollection.swift */; }; - OBJ_205 /* OrderedDictionary+Partial RangeReplaceableCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_80 /* OrderedDictionary+Partial RangeReplaceableCollection.swift */; }; - OBJ_206 /* OrderedDictionary+Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_81 /* OrderedDictionary+Sequence.swift */; }; - OBJ_207 /* OrderedDictionary+Values.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_82 /* OrderedDictionary+Values.swift */; }; - OBJ_208 /* OrderedDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_83 /* OrderedDictionary.swift */; }; - OBJ_209 /* OrderedSet+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_85 /* OrderedSet+Codable.swift */; }; - OBJ_210 /* OrderedSet+CustomDebugStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_86 /* OrderedSet+CustomDebugStringConvertible.swift */; }; - OBJ_211 /* OrderedSet+CustomReflectable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_87 /* OrderedSet+CustomReflectable.swift */; }; - OBJ_212 /* OrderedSet+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_88 /* OrderedSet+CustomStringConvertible.swift */; }; - OBJ_213 /* OrderedSet+Diffing.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_89 /* OrderedSet+Diffing.swift */; }; - OBJ_214 /* OrderedSet+Equatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_90 /* OrderedSet+Equatable.swift */; }; - OBJ_215 /* OrderedSet+ExpressibleByArrayLiteral.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_91 /* OrderedSet+ExpressibleByArrayLiteral.swift */; }; - OBJ_216 /* OrderedSet+Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_92 /* OrderedSet+Hashable.swift */; }; - OBJ_217 /* OrderedSet+Initializers.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_93 /* OrderedSet+Initializers.swift */; }; - OBJ_218 /* OrderedSet+Insertions.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_94 /* OrderedSet+Insertions.swift */; }; - OBJ_219 /* OrderedSet+Invariants.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_95 /* OrderedSet+Invariants.swift */; }; - OBJ_220 /* OrderedSet+Partial MutableCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_96 /* OrderedSet+Partial MutableCollection.swift */; }; - OBJ_221 /* OrderedSet+Partial RangeReplaceableCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_97 /* OrderedSet+Partial RangeReplaceableCollection.swift */; }; - OBJ_222 /* OrderedSet+Partial SetAlgebra+Basics.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_98 /* OrderedSet+Partial SetAlgebra+Basics.swift */; }; - OBJ_223 /* OrderedSet+Partial SetAlgebra+Operations.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_99 /* OrderedSet+Partial SetAlgebra+Operations.swift */; }; - OBJ_224 /* OrderedSet+Partial SetAlgebra+Predicates.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_100 /* OrderedSet+Partial SetAlgebra+Predicates.swift */; }; - OBJ_225 /* OrderedSet+RandomAccessCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_101 /* OrderedSet+RandomAccessCollection.swift */; }; - OBJ_226 /* OrderedSet+ReserveCapacity.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_102 /* OrderedSet+ReserveCapacity.swift */; }; - OBJ_227 /* OrderedSet+SubSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_103 /* OrderedSet+SubSequence.swift */; }; - OBJ_228 /* OrderedSet+Testing.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_104 /* OrderedSet+Testing.swift */; }; - OBJ_229 /* OrderedSet+UnorderedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_105 /* OrderedSet+UnorderedView.swift */; }; - OBJ_230 /* OrderedSet+UnstableInternals.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_106 /* OrderedSet+UnstableInternals.swift */; }; - OBJ_231 /* OrderedSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_107 /* OrderedSet.swift */; }; - OBJ_232 /* RandomAccessCollection+Offsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_109 /* RandomAccessCollection+Offsets.swift */; }; - OBJ_233 /* _UnsafeBitset.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_110 /* _UnsafeBitset.swift */; }; - OBJ_240 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_111 /* Package.swift */; }; + 286654AE55C95B05A5086634 /* AsyncObjects.docc in Sources */ = {isa = PBXBuildFile; fileRef = 64070662BE047028E995157C /* AsyncObjects.docc */; }; + OBJ_122 /* AsyncCountdownEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_11 /* AsyncCountdownEvent.swift */; }; + OBJ_123 /* AsyncEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_12 /* AsyncEvent.swift */; }; + OBJ_124 /* AsyncSemaphore.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_13 /* AsyncSemaphore.swift */; }; + OBJ_125 /* AsyncObject+Clock.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_15 /* AsyncObject+Clock.swift */; }; + OBJ_126 /* AsyncObject+Duration.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_16 /* AsyncObject+Duration.swift */; }; + OBJ_127 /* AsyncObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_17 /* AsyncObject.swift */; }; + OBJ_128 /* CancellationSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_18 /* CancellationSource.swift */; }; + OBJ_129 /* Continuable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_20 /* Continuable.swift */; }; + OBJ_130 /* ContinuableCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_21 /* ContinuableCollection.swift */; }; + OBJ_131 /* ContinuableCollectionActor.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_22 /* ContinuableCollectionActor.swift */; }; + OBJ_132 /* GlobalContinuation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_23 /* GlobalContinuation.swift */; }; + OBJ_133 /* TrackableContinuable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_24 /* TrackableContinuable.swift */; }; + OBJ_134 /* TrackedContinuation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_25 /* TrackedContinuation.swift */; }; + OBJ_135 /* Task.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_27 /* Task.swift */; }; + OBJ_136 /* TaskGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_28 /* TaskGroup.swift */; }; + OBJ_137 /* Future.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_29 /* Future.swift */; }; + OBJ_138 /* Exclusible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_31 /* Exclusible.swift */; }; + OBJ_139 /* Locker.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_32 /* Locker.swift */; }; + OBJ_140 /* Loggable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_34 /* Loggable.swift */; }; + OBJ_141 /* TaskOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_35 /* TaskOperation.swift */; }; + OBJ_142 /* TaskQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_36 /* TaskQueue.swift */; }; + OBJ_143 /* TaskTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_37 /* TaskTracker.swift */; }; + OBJ_145 /* OrderedCollections.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = swift-collections::OrderedCollections::Product /* OrderedCollections.framework */; }; + OBJ_153 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; }; + OBJ_164 /* AsyncCountdownEventTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_40 /* AsyncCountdownEventTests.swift */; }; + OBJ_165 /* AsyncEventTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_41 /* AsyncEventTests.swift */; }; + OBJ_166 /* AsyncObjectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_42 /* AsyncObjectTests.swift */; }; + OBJ_167 /* AsyncSemaphoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_43 /* AsyncSemaphoreTests.swift */; }; + OBJ_168 /* CancellationSourceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_44 /* CancellationSourceTests.swift */; }; + OBJ_169 /* LockerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_45 /* LockerTests.swift */; }; + OBJ_170 /* NonThrowingFutureTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_46 /* NonThrowingFutureTests.swift */; }; + OBJ_171 /* StandardLibraryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_47 /* StandardLibraryTests.swift */; }; + OBJ_172 /* TaskOperationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_48 /* TaskOperationTests.swift */; }; + OBJ_173 /* TaskQueueTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_49 /* TaskQueueTests.swift */; }; + OBJ_174 /* ThrowingFutureTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_50 /* ThrowingFutureTests.swift */; }; + OBJ_175 /* TrackedContinuationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_51 /* TrackedContinuationTests.swift */; }; + OBJ_176 /* XCTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_52 /* XCTestCase.swift */; }; + OBJ_178 /* AsyncObjects.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = asyncobjects::AsyncObjects::Product /* AsyncObjects.framework */; }; + OBJ_179 /* OrderedCollections.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = swift-collections::OrderedCollections::Product /* OrderedCollections.framework */; }; + OBJ_186 /* _HashTable+Bucket.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_59 /* _HashTable+Bucket.swift */; }; + OBJ_187 /* _HashTable+BucketIterator.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_60 /* _HashTable+BucketIterator.swift */; }; + OBJ_188 /* _HashTable+Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_61 /* _HashTable+Constants.swift */; }; + OBJ_189 /* _HashTable+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_62 /* _HashTable+CustomStringConvertible.swift */; }; + OBJ_190 /* _HashTable+Testing.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_63 /* _HashTable+Testing.swift */; }; + OBJ_191 /* _HashTable+UnsafeHandle.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_64 /* _HashTable+UnsafeHandle.swift */; }; + OBJ_192 /* _HashTable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_65 /* _HashTable.swift */; }; + OBJ_193 /* _Hashtable+Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_66 /* _Hashtable+Header.swift */; }; + OBJ_194 /* OrderedDictionary+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_68 /* OrderedDictionary+Codable.swift */; }; + OBJ_195 /* OrderedDictionary+CustomDebugStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_69 /* OrderedDictionary+CustomDebugStringConvertible.swift */; }; + OBJ_196 /* OrderedDictionary+CustomReflectable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_70 /* OrderedDictionary+CustomReflectable.swift */; }; + OBJ_197 /* OrderedDictionary+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_71 /* OrderedDictionary+CustomStringConvertible.swift */; }; + OBJ_198 /* OrderedDictionary+Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_72 /* OrderedDictionary+Deprecations.swift */; }; + OBJ_199 /* OrderedDictionary+Elements+SubSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_73 /* OrderedDictionary+Elements+SubSequence.swift */; }; + OBJ_200 /* OrderedDictionary+Elements.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_74 /* OrderedDictionary+Elements.swift */; }; + OBJ_201 /* OrderedDictionary+Equatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_75 /* OrderedDictionary+Equatable.swift */; }; + OBJ_202 /* OrderedDictionary+ExpressibleByDictionaryLiteral.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_76 /* OrderedDictionary+ExpressibleByDictionaryLiteral.swift */; }; + OBJ_203 /* OrderedDictionary+Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_77 /* OrderedDictionary+Hashable.swift */; }; + OBJ_204 /* OrderedDictionary+Initializers.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_78 /* OrderedDictionary+Initializers.swift */; }; + OBJ_205 /* OrderedDictionary+Invariants.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_79 /* OrderedDictionary+Invariants.swift */; }; + OBJ_206 /* OrderedDictionary+Partial MutableCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_80 /* OrderedDictionary+Partial MutableCollection.swift */; }; + OBJ_207 /* OrderedDictionary+Partial RangeReplaceableCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_81 /* OrderedDictionary+Partial RangeReplaceableCollection.swift */; }; + OBJ_208 /* OrderedDictionary+Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_82 /* OrderedDictionary+Sequence.swift */; }; + OBJ_209 /* OrderedDictionary+Values.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_83 /* OrderedDictionary+Values.swift */; }; + OBJ_210 /* OrderedDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_84 /* OrderedDictionary.swift */; }; + OBJ_211 /* OrderedSet+Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_86 /* OrderedSet+Codable.swift */; }; + OBJ_212 /* OrderedSet+CustomDebugStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_87 /* OrderedSet+CustomDebugStringConvertible.swift */; }; + OBJ_213 /* OrderedSet+CustomReflectable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_88 /* OrderedSet+CustomReflectable.swift */; }; + OBJ_214 /* OrderedSet+CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_89 /* OrderedSet+CustomStringConvertible.swift */; }; + OBJ_215 /* OrderedSet+Diffing.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_90 /* OrderedSet+Diffing.swift */; }; + OBJ_216 /* OrderedSet+Equatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_91 /* OrderedSet+Equatable.swift */; }; + OBJ_217 /* OrderedSet+ExpressibleByArrayLiteral.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_92 /* OrderedSet+ExpressibleByArrayLiteral.swift */; }; + OBJ_218 /* OrderedSet+Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_93 /* OrderedSet+Hashable.swift */; }; + OBJ_219 /* OrderedSet+Initializers.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_94 /* OrderedSet+Initializers.swift */; }; + OBJ_220 /* OrderedSet+Insertions.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_95 /* OrderedSet+Insertions.swift */; }; + OBJ_221 /* OrderedSet+Invariants.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_96 /* OrderedSet+Invariants.swift */; }; + OBJ_222 /* OrderedSet+Partial MutableCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_97 /* OrderedSet+Partial MutableCollection.swift */; }; + OBJ_223 /* OrderedSet+Partial RangeReplaceableCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_98 /* OrderedSet+Partial RangeReplaceableCollection.swift */; }; + OBJ_224 /* OrderedSet+Partial SetAlgebra+Basics.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_99 /* OrderedSet+Partial SetAlgebra+Basics.swift */; }; + OBJ_225 /* OrderedSet+Partial SetAlgebra+Operations.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_100 /* OrderedSet+Partial SetAlgebra+Operations.swift */; }; + OBJ_226 /* OrderedSet+Partial SetAlgebra+Predicates.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_101 /* OrderedSet+Partial SetAlgebra+Predicates.swift */; }; + OBJ_227 /* OrderedSet+RandomAccessCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_102 /* OrderedSet+RandomAccessCollection.swift */; }; + OBJ_228 /* OrderedSet+ReserveCapacity.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_103 /* OrderedSet+ReserveCapacity.swift */; }; + OBJ_229 /* OrderedSet+SubSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_104 /* OrderedSet+SubSequence.swift */; }; + OBJ_230 /* OrderedSet+Testing.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_105 /* OrderedSet+Testing.swift */; }; + OBJ_231 /* OrderedSet+UnorderedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_106 /* OrderedSet+UnorderedView.swift */; }; + OBJ_232 /* OrderedSet+UnstableInternals.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_107 /* OrderedSet+UnstableInternals.swift */; }; + OBJ_233 /* OrderedSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_108 /* OrderedSet.swift */; }; + OBJ_234 /* RandomAccessCollection+Offsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_110 /* RandomAccessCollection+Offsets.swift */; }; + OBJ_235 /* _UnsafeBitset.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_111 /* _UnsafeBitset.swift */; }; + OBJ_242 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_112 /* Package.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - ED492FF628B26125C8C62E41 /* AsyncObjects.docc */ = {isa = PBXFileReference; includeInIndex = 1; path = AsyncObjects.docc; sourceTree = ""; }; - OBJ_100 /* OrderedSet+Partial SetAlgebra+Predicates.swift */ = {isa = PBXFileReference; path = "OrderedSet+Partial SetAlgebra+Predicates.swift"; sourceTree = ""; }; - OBJ_101 /* OrderedSet+RandomAccessCollection.swift */ = {isa = PBXFileReference; path = "OrderedSet+RandomAccessCollection.swift"; sourceTree = ""; }; - OBJ_102 /* OrderedSet+ReserveCapacity.swift */ = {isa = PBXFileReference; path = "OrderedSet+ReserveCapacity.swift"; sourceTree = ""; }; - OBJ_103 /* OrderedSet+SubSequence.swift */ = {isa = PBXFileReference; path = "OrderedSet+SubSequence.swift"; sourceTree = ""; }; - OBJ_104 /* OrderedSet+Testing.swift */ = {isa = PBXFileReference; path = "OrderedSet+Testing.swift"; sourceTree = ""; }; - OBJ_105 /* OrderedSet+UnorderedView.swift */ = {isa = PBXFileReference; path = "OrderedSet+UnorderedView.swift"; sourceTree = ""; }; - OBJ_106 /* OrderedSet+UnstableInternals.swift */ = {isa = PBXFileReference; path = "OrderedSet+UnstableInternals.swift"; sourceTree = ""; }; - OBJ_107 /* OrderedSet.swift */ = {isa = PBXFileReference; path = OrderedSet.swift; sourceTree = ""; }; - OBJ_109 /* RandomAccessCollection+Offsets.swift */ = {isa = PBXFileReference; path = "RandomAccessCollection+Offsets.swift"; sourceTree = ""; }; + 64070662BE047028E995157C /* AsyncObjects.docc */ = {isa = PBXFileReference; includeInIndex = 1; path = AsyncObjects.docc; sourceTree = ""; }; + OBJ_100 /* OrderedSet+Partial SetAlgebra+Operations.swift */ = {isa = PBXFileReference; path = "OrderedSet+Partial SetAlgebra+Operations.swift"; sourceTree = ""; }; + OBJ_101 /* OrderedSet+Partial SetAlgebra+Predicates.swift */ = {isa = PBXFileReference; path = "OrderedSet+Partial SetAlgebra+Predicates.swift"; sourceTree = ""; }; + OBJ_102 /* OrderedSet+RandomAccessCollection.swift */ = {isa = PBXFileReference; path = "OrderedSet+RandomAccessCollection.swift"; sourceTree = ""; }; + OBJ_103 /* OrderedSet+ReserveCapacity.swift */ = {isa = PBXFileReference; path = "OrderedSet+ReserveCapacity.swift"; sourceTree = ""; }; + OBJ_104 /* OrderedSet+SubSequence.swift */ = {isa = PBXFileReference; path = "OrderedSet+SubSequence.swift"; sourceTree = ""; }; + OBJ_105 /* OrderedSet+Testing.swift */ = {isa = PBXFileReference; path = "OrderedSet+Testing.swift"; sourceTree = ""; }; + OBJ_106 /* OrderedSet+UnorderedView.swift */ = {isa = PBXFileReference; path = "OrderedSet+UnorderedView.swift"; sourceTree = ""; }; + OBJ_107 /* OrderedSet+UnstableInternals.swift */ = {isa = PBXFileReference; path = "OrderedSet+UnstableInternals.swift"; sourceTree = ""; }; + OBJ_108 /* OrderedSet.swift */ = {isa = PBXFileReference; path = OrderedSet.swift; sourceTree = ""; }; OBJ_11 /* AsyncCountdownEvent.swift */ = {isa = PBXFileReference; path = AsyncCountdownEvent.swift; sourceTree = ""; }; - OBJ_110 /* _UnsafeBitset.swift */ = {isa = PBXFileReference; path = _UnsafeBitset.swift; sourceTree = ""; }; - OBJ_111 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/soumya.mahunt/Documents/projects/AsyncObjects/.build/checkouts/swift-collections/Package.swift"; sourceTree = ""; }; + OBJ_110 /* RandomAccessCollection+Offsets.swift */ = {isa = PBXFileReference; path = "RandomAccessCollection+Offsets.swift"; sourceTree = ""; }; + OBJ_111 /* _UnsafeBitset.swift */ = {isa = PBXFileReference; path = _UnsafeBitset.swift; sourceTree = ""; }; + OBJ_112 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/soumya.mahunt/Documents/projects/AsyncObjects/.build/checkouts/swift-collections/Package.swift"; sourceTree = ""; }; OBJ_12 /* AsyncEvent.swift */ = {isa = PBXFileReference; path = AsyncEvent.swift; sourceTree = ""; }; OBJ_13 /* AsyncSemaphore.swift */ = {isa = PBXFileReference; path = AsyncSemaphore.swift; sourceTree = ""; }; OBJ_15 /* AsyncObject+Clock.swift */ = {isa = PBXFileReference; path = "AsyncObject+Clock.swift"; sourceTree = ""; }; @@ -135,93 +137,93 @@ OBJ_18 /* CancellationSource.swift */ = {isa = PBXFileReference; path = CancellationSource.swift; sourceTree = ""; }; OBJ_20 /* Continuable.swift */ = {isa = PBXFileReference; path = Continuable.swift; sourceTree = ""; }; OBJ_21 /* ContinuableCollection.swift */ = {isa = PBXFileReference; path = ContinuableCollection.swift; sourceTree = ""; }; - OBJ_22 /* GlobalContinuation.swift */ = {isa = PBXFileReference; path = GlobalContinuation.swift; sourceTree = ""; }; - OBJ_23 /* TrackableContinuable.swift */ = {isa = PBXFileReference; path = TrackableContinuable.swift; sourceTree = ""; }; - OBJ_24 /* TrackedContinuation.swift */ = {isa = PBXFileReference; path = TrackedContinuation.swift; sourceTree = ""; }; - OBJ_26 /* Task.swift */ = {isa = PBXFileReference; path = Task.swift; sourceTree = ""; }; - OBJ_27 /* TaskGroup.swift */ = {isa = PBXFileReference; path = TaskGroup.swift; sourceTree = ""; }; - OBJ_28 /* Future.swift */ = {isa = PBXFileReference; path = Future.swift; sourceTree = ""; }; - OBJ_30 /* Exclusible.swift */ = {isa = PBXFileReference; path = Exclusible.swift; sourceTree = ""; }; - OBJ_31 /* Locker.swift */ = {isa = PBXFileReference; path = Locker.swift; sourceTree = ""; }; - OBJ_33 /* Loggable.swift */ = {isa = PBXFileReference; path = Loggable.swift; sourceTree = ""; }; - OBJ_34 /* TaskOperation.swift */ = {isa = PBXFileReference; path = TaskOperation.swift; sourceTree = ""; }; - OBJ_35 /* TaskQueue.swift */ = {isa = PBXFileReference; path = TaskQueue.swift; sourceTree = ""; }; - OBJ_36 /* TaskTracker.swift */ = {isa = PBXFileReference; path = TaskTracker.swift; sourceTree = ""; }; - OBJ_39 /* AsyncCountdownEventTests.swift */ = {isa = PBXFileReference; path = AsyncCountdownEventTests.swift; sourceTree = ""; }; - OBJ_40 /* AsyncEventTests.swift */ = {isa = PBXFileReference; path = AsyncEventTests.swift; sourceTree = ""; }; - OBJ_41 /* AsyncObjectTests.swift */ = {isa = PBXFileReference; path = AsyncObjectTests.swift; sourceTree = ""; }; - OBJ_42 /* AsyncSemaphoreTests.swift */ = {isa = PBXFileReference; path = AsyncSemaphoreTests.swift; sourceTree = ""; }; - OBJ_43 /* CancellationSourceTests.swift */ = {isa = PBXFileReference; path = CancellationSourceTests.swift; sourceTree = ""; }; - OBJ_44 /* LockerTests.swift */ = {isa = PBXFileReference; path = LockerTests.swift; sourceTree = ""; }; - OBJ_45 /* NonThrowingFutureTests.swift */ = {isa = PBXFileReference; path = NonThrowingFutureTests.swift; sourceTree = ""; }; - OBJ_46 /* StandardLibraryTests.swift */ = {isa = PBXFileReference; path = StandardLibraryTests.swift; sourceTree = ""; }; - OBJ_47 /* TaskOperationTests.swift */ = {isa = PBXFileReference; path = TaskOperationTests.swift; sourceTree = ""; }; - OBJ_48 /* TaskQueueTests.swift */ = {isa = PBXFileReference; path = TaskQueueTests.swift; sourceTree = ""; }; - OBJ_49 /* ThrowingFutureTests.swift */ = {isa = PBXFileReference; path = ThrowingFutureTests.swift; sourceTree = ""; }; - OBJ_50 /* TrackedContinuationTests.swift */ = {isa = PBXFileReference; path = TrackedContinuationTests.swift; sourceTree = ""; }; - OBJ_51 /* XCTestCase.swift */ = {isa = PBXFileReference; path = XCTestCase.swift; sourceTree = ""; }; - OBJ_58 /* _HashTable+Bucket.swift */ = {isa = PBXFileReference; path = "_HashTable+Bucket.swift"; sourceTree = ""; }; - OBJ_59 /* _HashTable+BucketIterator.swift */ = {isa = PBXFileReference; path = "_HashTable+BucketIterator.swift"; sourceTree = ""; }; + OBJ_22 /* ContinuableCollectionActor.swift */ = {isa = PBXFileReference; path = ContinuableCollectionActor.swift; sourceTree = ""; }; + OBJ_23 /* GlobalContinuation.swift */ = {isa = PBXFileReference; path = GlobalContinuation.swift; sourceTree = ""; }; + OBJ_24 /* TrackableContinuable.swift */ = {isa = PBXFileReference; path = TrackableContinuable.swift; sourceTree = ""; }; + OBJ_25 /* TrackedContinuation.swift */ = {isa = PBXFileReference; path = TrackedContinuation.swift; sourceTree = ""; }; + OBJ_27 /* Task.swift */ = {isa = PBXFileReference; path = Task.swift; sourceTree = ""; }; + OBJ_28 /* TaskGroup.swift */ = {isa = PBXFileReference; path = TaskGroup.swift; sourceTree = ""; }; + OBJ_29 /* Future.swift */ = {isa = PBXFileReference; path = Future.swift; sourceTree = ""; }; + OBJ_31 /* Exclusible.swift */ = {isa = PBXFileReference; path = Exclusible.swift; sourceTree = ""; }; + OBJ_32 /* Locker.swift */ = {isa = PBXFileReference; path = Locker.swift; sourceTree = ""; }; + OBJ_34 /* Loggable.swift */ = {isa = PBXFileReference; path = Loggable.swift; sourceTree = ""; }; + OBJ_35 /* TaskOperation.swift */ = {isa = PBXFileReference; path = TaskOperation.swift; sourceTree = ""; }; + OBJ_36 /* TaskQueue.swift */ = {isa = PBXFileReference; path = TaskQueue.swift; sourceTree = ""; }; + OBJ_37 /* TaskTracker.swift */ = {isa = PBXFileReference; path = TaskTracker.swift; sourceTree = ""; }; + OBJ_40 /* AsyncCountdownEventTests.swift */ = {isa = PBXFileReference; path = AsyncCountdownEventTests.swift; sourceTree = ""; }; + OBJ_41 /* AsyncEventTests.swift */ = {isa = PBXFileReference; path = AsyncEventTests.swift; sourceTree = ""; }; + OBJ_42 /* AsyncObjectTests.swift */ = {isa = PBXFileReference; path = AsyncObjectTests.swift; sourceTree = ""; }; + OBJ_43 /* AsyncSemaphoreTests.swift */ = {isa = PBXFileReference; path = AsyncSemaphoreTests.swift; sourceTree = ""; }; + OBJ_44 /* CancellationSourceTests.swift */ = {isa = PBXFileReference; path = CancellationSourceTests.swift; sourceTree = ""; }; + OBJ_45 /* LockerTests.swift */ = {isa = PBXFileReference; path = LockerTests.swift; sourceTree = ""; }; + OBJ_46 /* NonThrowingFutureTests.swift */ = {isa = PBXFileReference; path = NonThrowingFutureTests.swift; sourceTree = ""; }; + OBJ_47 /* StandardLibraryTests.swift */ = {isa = PBXFileReference; path = StandardLibraryTests.swift; sourceTree = ""; }; + OBJ_48 /* TaskOperationTests.swift */ = {isa = PBXFileReference; path = TaskOperationTests.swift; sourceTree = ""; }; + OBJ_49 /* TaskQueueTests.swift */ = {isa = PBXFileReference; path = TaskQueueTests.swift; sourceTree = ""; }; + OBJ_50 /* ThrowingFutureTests.swift */ = {isa = PBXFileReference; path = ThrowingFutureTests.swift; sourceTree = ""; }; + OBJ_51 /* TrackedContinuationTests.swift */ = {isa = PBXFileReference; path = TrackedContinuationTests.swift; sourceTree = ""; }; + OBJ_52 /* XCTestCase.swift */ = {isa = PBXFileReference; path = XCTestCase.swift; sourceTree = ""; }; + OBJ_59 /* _HashTable+Bucket.swift */ = {isa = PBXFileReference; path = "_HashTable+Bucket.swift"; sourceTree = ""; }; OBJ_6 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; - OBJ_60 /* _HashTable+Constants.swift */ = {isa = PBXFileReference; path = "_HashTable+Constants.swift"; sourceTree = ""; }; - OBJ_61 /* _HashTable+CustomStringConvertible.swift */ = {isa = PBXFileReference; path = "_HashTable+CustomStringConvertible.swift"; sourceTree = ""; }; - OBJ_62 /* _HashTable+Testing.swift */ = {isa = PBXFileReference; path = "_HashTable+Testing.swift"; sourceTree = ""; }; - OBJ_63 /* _HashTable+UnsafeHandle.swift */ = {isa = PBXFileReference; path = "_HashTable+UnsafeHandle.swift"; sourceTree = ""; }; - OBJ_64 /* _HashTable.swift */ = {isa = PBXFileReference; path = _HashTable.swift; sourceTree = ""; }; - OBJ_65 /* _Hashtable+Header.swift */ = {isa = PBXFileReference; path = "_Hashtable+Header.swift"; sourceTree = ""; }; - OBJ_67 /* OrderedDictionary+Codable.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Codable.swift"; sourceTree = ""; }; - OBJ_68 /* OrderedDictionary+CustomDebugStringConvertible.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+CustomDebugStringConvertible.swift"; sourceTree = ""; }; - OBJ_69 /* OrderedDictionary+CustomReflectable.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+CustomReflectable.swift"; sourceTree = ""; }; - OBJ_70 /* OrderedDictionary+CustomStringConvertible.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+CustomStringConvertible.swift"; sourceTree = ""; }; - OBJ_71 /* OrderedDictionary+Deprecations.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Deprecations.swift"; sourceTree = ""; }; - OBJ_72 /* OrderedDictionary+Elements+SubSequence.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Elements+SubSequence.swift"; sourceTree = ""; }; - OBJ_73 /* OrderedDictionary+Elements.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Elements.swift"; sourceTree = ""; }; - OBJ_74 /* OrderedDictionary+Equatable.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Equatable.swift"; sourceTree = ""; }; - OBJ_75 /* OrderedDictionary+ExpressibleByDictionaryLiteral.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+ExpressibleByDictionaryLiteral.swift"; sourceTree = ""; }; - OBJ_76 /* OrderedDictionary+Hashable.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Hashable.swift"; sourceTree = ""; }; - OBJ_77 /* OrderedDictionary+Initializers.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Initializers.swift"; sourceTree = ""; }; - OBJ_78 /* OrderedDictionary+Invariants.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Invariants.swift"; sourceTree = ""; }; - OBJ_79 /* OrderedDictionary+Partial MutableCollection.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Partial MutableCollection.swift"; sourceTree = ""; }; + OBJ_60 /* _HashTable+BucketIterator.swift */ = {isa = PBXFileReference; path = "_HashTable+BucketIterator.swift"; sourceTree = ""; }; + OBJ_61 /* _HashTable+Constants.swift */ = {isa = PBXFileReference; path = "_HashTable+Constants.swift"; sourceTree = ""; }; + OBJ_62 /* _HashTable+CustomStringConvertible.swift */ = {isa = PBXFileReference; path = "_HashTable+CustomStringConvertible.swift"; sourceTree = ""; }; + OBJ_63 /* _HashTable+Testing.swift */ = {isa = PBXFileReference; path = "_HashTable+Testing.swift"; sourceTree = ""; }; + OBJ_64 /* _HashTable+UnsafeHandle.swift */ = {isa = PBXFileReference; path = "_HashTable+UnsafeHandle.swift"; sourceTree = ""; }; + OBJ_65 /* _HashTable.swift */ = {isa = PBXFileReference; path = _HashTable.swift; sourceTree = ""; }; + OBJ_66 /* _Hashtable+Header.swift */ = {isa = PBXFileReference; path = "_Hashtable+Header.swift"; sourceTree = ""; }; + OBJ_68 /* OrderedDictionary+Codable.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Codable.swift"; sourceTree = ""; }; + OBJ_69 /* OrderedDictionary+CustomDebugStringConvertible.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+CustomDebugStringConvertible.swift"; sourceTree = ""; }; + OBJ_70 /* OrderedDictionary+CustomReflectable.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+CustomReflectable.swift"; sourceTree = ""; }; + OBJ_71 /* OrderedDictionary+CustomStringConvertible.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+CustomStringConvertible.swift"; sourceTree = ""; }; + OBJ_72 /* OrderedDictionary+Deprecations.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Deprecations.swift"; sourceTree = ""; }; + OBJ_73 /* OrderedDictionary+Elements+SubSequence.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Elements+SubSequence.swift"; sourceTree = ""; }; + OBJ_74 /* OrderedDictionary+Elements.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Elements.swift"; sourceTree = ""; }; + OBJ_75 /* OrderedDictionary+Equatable.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Equatable.swift"; sourceTree = ""; }; + OBJ_76 /* OrderedDictionary+ExpressibleByDictionaryLiteral.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+ExpressibleByDictionaryLiteral.swift"; sourceTree = ""; }; + OBJ_77 /* OrderedDictionary+Hashable.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Hashable.swift"; sourceTree = ""; }; + OBJ_78 /* OrderedDictionary+Initializers.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Initializers.swift"; sourceTree = ""; }; + OBJ_79 /* OrderedDictionary+Invariants.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Invariants.swift"; sourceTree = ""; }; OBJ_8 /* AsyncObjects.xcconfig */ = {isa = PBXFileReference; name = AsyncObjects.xcconfig; path = Helpers/AsyncObjects.xcconfig; sourceTree = ""; }; - OBJ_80 /* OrderedDictionary+Partial RangeReplaceableCollection.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Partial RangeReplaceableCollection.swift"; sourceTree = ""; }; - OBJ_81 /* OrderedDictionary+Sequence.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Sequence.swift"; sourceTree = ""; }; - OBJ_82 /* OrderedDictionary+Values.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Values.swift"; sourceTree = ""; }; - OBJ_83 /* OrderedDictionary.swift */ = {isa = PBXFileReference; path = OrderedDictionary.swift; sourceTree = ""; }; - OBJ_85 /* OrderedSet+Codable.swift */ = {isa = PBXFileReference; path = "OrderedSet+Codable.swift"; sourceTree = ""; }; - OBJ_86 /* OrderedSet+CustomDebugStringConvertible.swift */ = {isa = PBXFileReference; path = "OrderedSet+CustomDebugStringConvertible.swift"; sourceTree = ""; }; - OBJ_87 /* OrderedSet+CustomReflectable.swift */ = {isa = PBXFileReference; path = "OrderedSet+CustomReflectable.swift"; sourceTree = ""; }; - OBJ_88 /* OrderedSet+CustomStringConvertible.swift */ = {isa = PBXFileReference; path = "OrderedSet+CustomStringConvertible.swift"; sourceTree = ""; }; - OBJ_89 /* OrderedSet+Diffing.swift */ = {isa = PBXFileReference; path = "OrderedSet+Diffing.swift"; sourceTree = ""; }; - OBJ_90 /* OrderedSet+Equatable.swift */ = {isa = PBXFileReference; path = "OrderedSet+Equatable.swift"; sourceTree = ""; }; - OBJ_91 /* OrderedSet+ExpressibleByArrayLiteral.swift */ = {isa = PBXFileReference; path = "OrderedSet+ExpressibleByArrayLiteral.swift"; sourceTree = ""; }; - OBJ_92 /* OrderedSet+Hashable.swift */ = {isa = PBXFileReference; path = "OrderedSet+Hashable.swift"; sourceTree = ""; }; - OBJ_93 /* OrderedSet+Initializers.swift */ = {isa = PBXFileReference; path = "OrderedSet+Initializers.swift"; sourceTree = ""; }; - OBJ_94 /* OrderedSet+Insertions.swift */ = {isa = PBXFileReference; path = "OrderedSet+Insertions.swift"; sourceTree = ""; }; - OBJ_95 /* OrderedSet+Invariants.swift */ = {isa = PBXFileReference; path = "OrderedSet+Invariants.swift"; sourceTree = ""; }; - OBJ_96 /* OrderedSet+Partial MutableCollection.swift */ = {isa = PBXFileReference; path = "OrderedSet+Partial MutableCollection.swift"; sourceTree = ""; }; - OBJ_97 /* OrderedSet+Partial RangeReplaceableCollection.swift */ = {isa = PBXFileReference; path = "OrderedSet+Partial RangeReplaceableCollection.swift"; sourceTree = ""; }; - OBJ_98 /* OrderedSet+Partial SetAlgebra+Basics.swift */ = {isa = PBXFileReference; path = "OrderedSet+Partial SetAlgebra+Basics.swift"; sourceTree = ""; }; - OBJ_99 /* OrderedSet+Partial SetAlgebra+Operations.swift */ = {isa = PBXFileReference; path = "OrderedSet+Partial SetAlgebra+Operations.swift"; sourceTree = ""; }; + OBJ_80 /* OrderedDictionary+Partial MutableCollection.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Partial MutableCollection.swift"; sourceTree = ""; }; + OBJ_81 /* OrderedDictionary+Partial RangeReplaceableCollection.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Partial RangeReplaceableCollection.swift"; sourceTree = ""; }; + OBJ_82 /* OrderedDictionary+Sequence.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Sequence.swift"; sourceTree = ""; }; + OBJ_83 /* OrderedDictionary+Values.swift */ = {isa = PBXFileReference; path = "OrderedDictionary+Values.swift"; sourceTree = ""; }; + OBJ_84 /* OrderedDictionary.swift */ = {isa = PBXFileReference; path = OrderedDictionary.swift; sourceTree = ""; }; + OBJ_86 /* OrderedSet+Codable.swift */ = {isa = PBXFileReference; path = "OrderedSet+Codable.swift"; sourceTree = ""; }; + OBJ_87 /* OrderedSet+CustomDebugStringConvertible.swift */ = {isa = PBXFileReference; path = "OrderedSet+CustomDebugStringConvertible.swift"; sourceTree = ""; }; + OBJ_88 /* OrderedSet+CustomReflectable.swift */ = {isa = PBXFileReference; path = "OrderedSet+CustomReflectable.swift"; sourceTree = ""; }; + OBJ_89 /* OrderedSet+CustomStringConvertible.swift */ = {isa = PBXFileReference; path = "OrderedSet+CustomStringConvertible.swift"; sourceTree = ""; }; + OBJ_90 /* OrderedSet+Diffing.swift */ = {isa = PBXFileReference; path = "OrderedSet+Diffing.swift"; sourceTree = ""; }; + OBJ_91 /* OrderedSet+Equatable.swift */ = {isa = PBXFileReference; path = "OrderedSet+Equatable.swift"; sourceTree = ""; }; + OBJ_92 /* OrderedSet+ExpressibleByArrayLiteral.swift */ = {isa = PBXFileReference; path = "OrderedSet+ExpressibleByArrayLiteral.swift"; sourceTree = ""; }; + OBJ_93 /* OrderedSet+Hashable.swift */ = {isa = PBXFileReference; path = "OrderedSet+Hashable.swift"; sourceTree = ""; }; + OBJ_94 /* OrderedSet+Initializers.swift */ = {isa = PBXFileReference; path = "OrderedSet+Initializers.swift"; sourceTree = ""; }; + OBJ_95 /* OrderedSet+Insertions.swift */ = {isa = PBXFileReference; path = "OrderedSet+Insertions.swift"; sourceTree = ""; }; + OBJ_96 /* OrderedSet+Invariants.swift */ = {isa = PBXFileReference; path = "OrderedSet+Invariants.swift"; sourceTree = ""; }; + OBJ_97 /* OrderedSet+Partial MutableCollection.swift */ = {isa = PBXFileReference; path = "OrderedSet+Partial MutableCollection.swift"; sourceTree = ""; }; + OBJ_98 /* OrderedSet+Partial RangeReplaceableCollection.swift */ = {isa = PBXFileReference; path = "OrderedSet+Partial RangeReplaceableCollection.swift"; sourceTree = ""; }; + OBJ_99 /* OrderedSet+Partial SetAlgebra+Basics.swift */ = {isa = PBXFileReference; path = "OrderedSet+Partial SetAlgebra+Basics.swift"; sourceTree = ""; }; asyncobjects::AsyncObjects::Product /* AsyncObjects.framework */ = {isa = PBXFileReference; path = AsyncObjects.framework; sourceTree = BUILT_PRODUCTS_DIR; }; asyncobjects::AsyncObjectsTests::Product /* AsyncObjectsTests.xctest */ = {isa = PBXFileReference; path = AsyncObjectsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; swift-collections::OrderedCollections::Product /* OrderedCollections.framework */ = {isa = PBXFileReference; path = OrderedCollections.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - OBJ_142 /* Frameworks */ = { + OBJ_144 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; files = ( - OBJ_143 /* OrderedCollections.framework in Frameworks */, + OBJ_145 /* OrderedCollections.framework in Frameworks */, ); }; - OBJ_175 /* Frameworks */ = { + OBJ_177 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; files = ( - OBJ_176 /* AsyncObjects.framework in Frameworks */, - OBJ_177 /* OrderedCollections.framework in Frameworks */, + OBJ_178 /* AsyncObjects.framework in Frameworks */, + OBJ_179 /* OrderedCollections.framework in Frameworks */, ); }; - OBJ_234 /* Frameworks */ = { + OBJ_236 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; files = ( ); @@ -238,30 +240,30 @@ OBJ_14 /* Base */, OBJ_18 /* CancellationSource.swift */, OBJ_19 /* Continuation */, - OBJ_25 /* Extensions */, - OBJ_28 /* Future.swift */, - OBJ_29 /* Locks */, - OBJ_32 /* Logging */, - OBJ_34 /* TaskOperation.swift */, - OBJ_35 /* TaskQueue.swift */, - OBJ_36 /* TaskTracker.swift */, - ED492FF628B26125C8C62E41 /* AsyncObjects.docc */, + OBJ_26 /* Extensions */, + OBJ_29 /* Future.swift */, + OBJ_30 /* Locks */, + OBJ_33 /* Logging */, + OBJ_35 /* TaskOperation.swift */, + OBJ_36 /* TaskQueue.swift */, + OBJ_37 /* TaskTracker.swift */, + 64070662BE047028E995157C /* AsyncObjects.docc */, ); name = AsyncObjects; path = Sources/AsyncObjects; sourceTree = SOURCE_ROOT; }; - OBJ_108 /* Utilities */ = { + OBJ_109 /* Utilities */ = { isa = PBXGroup; children = ( - OBJ_109 /* RandomAccessCollection+Offsets.swift */, - OBJ_110 /* _UnsafeBitset.swift */, + OBJ_110 /* RandomAccessCollection+Offsets.swift */, + OBJ_111 /* _UnsafeBitset.swift */, ); name = Utilities; path = Utilities; sourceTree = ""; }; - OBJ_112 /* Products */ = { + OBJ_113 /* Products */ = { isa = PBXGroup; children = ( asyncobjects::AsyncObjects::Product /* AsyncObjects.framework */, @@ -288,68 +290,69 @@ children = ( OBJ_20 /* Continuable.swift */, OBJ_21 /* ContinuableCollection.swift */, - OBJ_22 /* GlobalContinuation.swift */, - OBJ_23 /* TrackableContinuable.swift */, - OBJ_24 /* TrackedContinuation.swift */, + OBJ_22 /* ContinuableCollectionActor.swift */, + OBJ_23 /* GlobalContinuation.swift */, + OBJ_24 /* TrackableContinuable.swift */, + OBJ_25 /* TrackedContinuation.swift */, ); name = Continuation; path = Continuation; sourceTree = ""; }; - OBJ_25 /* Extensions */ = { + OBJ_26 /* Extensions */ = { isa = PBXGroup; children = ( - OBJ_26 /* Task.swift */, - OBJ_27 /* TaskGroup.swift */, + OBJ_27 /* Task.swift */, + OBJ_28 /* TaskGroup.swift */, ); name = Extensions; path = Extensions; sourceTree = ""; }; - OBJ_29 /* Locks */ = { + OBJ_30 /* Locks */ = { isa = PBXGroup; children = ( - OBJ_30 /* Exclusible.swift */, - OBJ_31 /* Locker.swift */, + OBJ_31 /* Exclusible.swift */, + OBJ_32 /* Locker.swift */, ); name = Locks; path = Locks; sourceTree = ""; }; - OBJ_32 /* Logging */ = { + OBJ_33 /* Logging */ = { isa = PBXGroup; children = ( - OBJ_33 /* Loggable.swift */, + OBJ_34 /* Loggable.swift */, ); name = Logging; path = Logging; sourceTree = ""; }; - OBJ_37 /* Tests */ = { + OBJ_38 /* Tests */ = { isa = PBXGroup; children = ( - OBJ_38 /* AsyncObjectsTests */, + OBJ_39 /* AsyncObjectsTests */, ); name = Tests; path = ""; sourceTree = SOURCE_ROOT; }; - OBJ_38 /* AsyncObjectsTests */ = { + OBJ_39 /* AsyncObjectsTests */ = { isa = PBXGroup; children = ( - OBJ_39 /* AsyncCountdownEventTests.swift */, - OBJ_40 /* AsyncEventTests.swift */, - OBJ_41 /* AsyncObjectTests.swift */, - OBJ_42 /* AsyncSemaphoreTests.swift */, - OBJ_43 /* CancellationSourceTests.swift */, - OBJ_44 /* LockerTests.swift */, - OBJ_45 /* NonThrowingFutureTests.swift */, - OBJ_46 /* StandardLibraryTests.swift */, - OBJ_47 /* TaskOperationTests.swift */, - OBJ_48 /* TaskQueueTests.swift */, - OBJ_49 /* ThrowingFutureTests.swift */, - OBJ_50 /* TrackedContinuationTests.swift */, - OBJ_51 /* XCTestCase.swift */, + OBJ_40 /* AsyncCountdownEventTests.swift */, + OBJ_41 /* AsyncEventTests.swift */, + OBJ_42 /* AsyncObjectTests.swift */, + OBJ_43 /* AsyncSemaphoreTests.swift */, + OBJ_44 /* CancellationSourceTests.swift */, + OBJ_45 /* LockerTests.swift */, + OBJ_46 /* NonThrowingFutureTests.swift */, + OBJ_47 /* StandardLibraryTests.swift */, + OBJ_48 /* TaskOperationTests.swift */, + OBJ_49 /* TaskQueueTests.swift */, + OBJ_50 /* ThrowingFutureTests.swift */, + OBJ_51 /* TrackedContinuationTests.swift */, + OBJ_52 /* XCTestCase.swift */, ); name = AsyncObjectsTests; path = Tests/AsyncObjectsTests; @@ -361,35 +364,35 @@ OBJ_6 /* Package.swift */, OBJ_7 /* Configs */, OBJ_9 /* Sources */, - OBJ_37 /* Tests */, - OBJ_52 /* Dependencies */, - OBJ_112 /* Products */, + OBJ_38 /* Tests */, + OBJ_53 /* Dependencies */, + OBJ_113 /* Products */, ); path = ""; sourceTree = ""; }; - OBJ_52 /* Dependencies */ = { + OBJ_53 /* Dependencies */ = { isa = PBXGroup; children = ( - OBJ_53 /* swift-collections 1.0.3 */, + OBJ_54 /* swift-collections 1.0.3 */, ); name = Dependencies; path = ""; sourceTree = ""; }; - OBJ_53 /* swift-collections 1.0.3 */ = { + OBJ_54 /* swift-collections 1.0.3 */ = { isa = PBXGroup; children = ( - OBJ_54 /* Collections */, - OBJ_55 /* DequeModule */, - OBJ_56 /* OrderedCollections */, - OBJ_111 /* Package.swift */, + OBJ_55 /* Collections */, + OBJ_56 /* DequeModule */, + OBJ_57 /* OrderedCollections */, + OBJ_112 /* Package.swift */, ); name = "swift-collections 1.0.3"; path = ""; sourceTree = SOURCE_ROOT; }; - OBJ_54 /* Collections */ = { + OBJ_55 /* Collections */ = { isa = PBXGroup; children = ( ); @@ -397,7 +400,7 @@ path = ".build/checkouts/swift-collections/Sources/Collections"; sourceTree = SOURCE_ROOT; }; - OBJ_55 /* DequeModule */ = { + OBJ_56 /* DequeModule */ = { isa = PBXGroup; children = ( ); @@ -405,54 +408,54 @@ path = ".build/checkouts/swift-collections/Sources/DequeModule"; sourceTree = SOURCE_ROOT; }; - OBJ_56 /* OrderedCollections */ = { + OBJ_57 /* OrderedCollections */ = { isa = PBXGroup; children = ( - OBJ_57 /* HashTable */, - OBJ_66 /* OrderedDictionary */, - OBJ_84 /* OrderedSet */, - OBJ_108 /* Utilities */, + OBJ_58 /* HashTable */, + OBJ_67 /* OrderedDictionary */, + OBJ_85 /* OrderedSet */, + OBJ_109 /* Utilities */, ); name = OrderedCollections; path = ".build/checkouts/swift-collections/Sources/OrderedCollections"; sourceTree = SOURCE_ROOT; }; - OBJ_57 /* HashTable */ = { + OBJ_58 /* HashTable */ = { isa = PBXGroup; children = ( - OBJ_58 /* _HashTable+Bucket.swift */, - OBJ_59 /* _HashTable+BucketIterator.swift */, - OBJ_60 /* _HashTable+Constants.swift */, - OBJ_61 /* _HashTable+CustomStringConvertible.swift */, - OBJ_62 /* _HashTable+Testing.swift */, - OBJ_63 /* _HashTable+UnsafeHandle.swift */, - OBJ_64 /* _HashTable.swift */, - OBJ_65 /* _Hashtable+Header.swift */, + OBJ_59 /* _HashTable+Bucket.swift */, + OBJ_60 /* _HashTable+BucketIterator.swift */, + OBJ_61 /* _HashTable+Constants.swift */, + OBJ_62 /* _HashTable+CustomStringConvertible.swift */, + OBJ_63 /* _HashTable+Testing.swift */, + OBJ_64 /* _HashTable+UnsafeHandle.swift */, + OBJ_65 /* _HashTable.swift */, + OBJ_66 /* _Hashtable+Header.swift */, ); name = HashTable; path = HashTable; sourceTree = ""; }; - OBJ_66 /* OrderedDictionary */ = { + OBJ_67 /* OrderedDictionary */ = { isa = PBXGroup; children = ( - OBJ_67 /* OrderedDictionary+Codable.swift */, - OBJ_68 /* OrderedDictionary+CustomDebugStringConvertible.swift */, - OBJ_69 /* OrderedDictionary+CustomReflectable.swift */, - OBJ_70 /* OrderedDictionary+CustomStringConvertible.swift */, - OBJ_71 /* OrderedDictionary+Deprecations.swift */, - OBJ_72 /* OrderedDictionary+Elements+SubSequence.swift */, - OBJ_73 /* OrderedDictionary+Elements.swift */, - OBJ_74 /* OrderedDictionary+Equatable.swift */, - OBJ_75 /* OrderedDictionary+ExpressibleByDictionaryLiteral.swift */, - OBJ_76 /* OrderedDictionary+Hashable.swift */, - OBJ_77 /* OrderedDictionary+Initializers.swift */, - OBJ_78 /* OrderedDictionary+Invariants.swift */, - OBJ_79 /* OrderedDictionary+Partial MutableCollection.swift */, - OBJ_80 /* OrderedDictionary+Partial RangeReplaceableCollection.swift */, - OBJ_81 /* OrderedDictionary+Sequence.swift */, - OBJ_82 /* OrderedDictionary+Values.swift */, - OBJ_83 /* OrderedDictionary.swift */, + OBJ_68 /* OrderedDictionary+Codable.swift */, + OBJ_69 /* OrderedDictionary+CustomDebugStringConvertible.swift */, + OBJ_70 /* OrderedDictionary+CustomReflectable.swift */, + OBJ_71 /* OrderedDictionary+CustomStringConvertible.swift */, + OBJ_72 /* OrderedDictionary+Deprecations.swift */, + OBJ_73 /* OrderedDictionary+Elements+SubSequence.swift */, + OBJ_74 /* OrderedDictionary+Elements.swift */, + OBJ_75 /* OrderedDictionary+Equatable.swift */, + OBJ_76 /* OrderedDictionary+ExpressibleByDictionaryLiteral.swift */, + OBJ_77 /* OrderedDictionary+Hashable.swift */, + OBJ_78 /* OrderedDictionary+Initializers.swift */, + OBJ_79 /* OrderedDictionary+Invariants.swift */, + OBJ_80 /* OrderedDictionary+Partial MutableCollection.swift */, + OBJ_81 /* OrderedDictionary+Partial RangeReplaceableCollection.swift */, + OBJ_82 /* OrderedDictionary+Sequence.swift */, + OBJ_83 /* OrderedDictionary+Values.swift */, + OBJ_84 /* OrderedDictionary.swift */, ); name = OrderedDictionary; path = OrderedDictionary; @@ -467,32 +470,32 @@ path = ""; sourceTree = ""; }; - OBJ_84 /* OrderedSet */ = { + OBJ_85 /* OrderedSet */ = { isa = PBXGroup; children = ( - OBJ_85 /* OrderedSet+Codable.swift */, - OBJ_86 /* OrderedSet+CustomDebugStringConvertible.swift */, - OBJ_87 /* OrderedSet+CustomReflectable.swift */, - OBJ_88 /* OrderedSet+CustomStringConvertible.swift */, - OBJ_89 /* OrderedSet+Diffing.swift */, - OBJ_90 /* OrderedSet+Equatable.swift */, - OBJ_91 /* OrderedSet+ExpressibleByArrayLiteral.swift */, - OBJ_92 /* OrderedSet+Hashable.swift */, - OBJ_93 /* OrderedSet+Initializers.swift */, - OBJ_94 /* OrderedSet+Insertions.swift */, - OBJ_95 /* OrderedSet+Invariants.swift */, - OBJ_96 /* OrderedSet+Partial MutableCollection.swift */, - OBJ_97 /* OrderedSet+Partial RangeReplaceableCollection.swift */, - OBJ_98 /* OrderedSet+Partial SetAlgebra+Basics.swift */, - OBJ_99 /* OrderedSet+Partial SetAlgebra+Operations.swift */, - OBJ_100 /* OrderedSet+Partial SetAlgebra+Predicates.swift */, - OBJ_101 /* OrderedSet+RandomAccessCollection.swift */, - OBJ_102 /* OrderedSet+ReserveCapacity.swift */, - OBJ_103 /* OrderedSet+SubSequence.swift */, - OBJ_104 /* OrderedSet+Testing.swift */, - OBJ_105 /* OrderedSet+UnorderedView.swift */, - OBJ_106 /* OrderedSet+UnstableInternals.swift */, - OBJ_107 /* OrderedSet.swift */, + OBJ_86 /* OrderedSet+Codable.swift */, + OBJ_87 /* OrderedSet+CustomDebugStringConvertible.swift */, + OBJ_88 /* OrderedSet+CustomReflectable.swift */, + OBJ_89 /* OrderedSet+CustomStringConvertible.swift */, + OBJ_90 /* OrderedSet+Diffing.swift */, + OBJ_91 /* OrderedSet+Equatable.swift */, + OBJ_92 /* OrderedSet+ExpressibleByArrayLiteral.swift */, + OBJ_93 /* OrderedSet+Hashable.swift */, + OBJ_94 /* OrderedSet+Initializers.swift */, + OBJ_95 /* OrderedSet+Insertions.swift */, + OBJ_96 /* OrderedSet+Invariants.swift */, + OBJ_97 /* OrderedSet+Partial MutableCollection.swift */, + OBJ_98 /* OrderedSet+Partial RangeReplaceableCollection.swift */, + OBJ_99 /* OrderedSet+Partial SetAlgebra+Basics.swift */, + OBJ_100 /* OrderedSet+Partial SetAlgebra+Operations.swift */, + OBJ_101 /* OrderedSet+Partial SetAlgebra+Predicates.swift */, + OBJ_102 /* OrderedSet+RandomAccessCollection.swift */, + OBJ_103 /* OrderedSet+ReserveCapacity.swift */, + OBJ_104 /* OrderedSet+SubSequence.swift */, + OBJ_105 /* OrderedSet+Testing.swift */, + OBJ_106 /* OrderedSet+UnorderedView.swift */, + OBJ_107 /* OrderedSet+UnstableInternals.swift */, + OBJ_108 /* OrderedSet.swift */, ); name = OrderedSet; path = OrderedSet; @@ -512,15 +515,15 @@ /* Begin PBXNativeTarget section */ asyncobjects::AsyncObjects /* AsyncObjects */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_117 /* Build configuration list for PBXNativeTarget "AsyncObjects" */; + buildConfigurationList = OBJ_118 /* Build configuration list for PBXNativeTarget "AsyncObjects" */; buildPhases = ( - OBJ_120 /* Sources */, - OBJ_142 /* Frameworks */, + OBJ_121 /* Sources */, + OBJ_144 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_144 /* PBXTargetDependency */, + OBJ_146 /* PBXTargetDependency */, ); name = AsyncObjects; productName = AsyncObjects; @@ -529,16 +532,16 @@ }; asyncobjects::AsyncObjectsTests /* AsyncObjectsTests */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_158 /* Build configuration list for PBXNativeTarget "AsyncObjectsTests" */; + buildConfigurationList = OBJ_160 /* Build configuration list for PBXNativeTarget "AsyncObjectsTests" */; buildPhases = ( - OBJ_161 /* Sources */, - OBJ_175 /* Frameworks */, + OBJ_163 /* Sources */, + OBJ_177 /* Frameworks */, ); buildRules = ( ); dependencies = ( - OBJ_178 /* PBXTargetDependency */, - OBJ_179 /* PBXTargetDependency */, + OBJ_180 /* PBXTargetDependency */, + OBJ_181 /* PBXTargetDependency */, ); name = AsyncObjectsTests; productName = AsyncObjectsTests; @@ -547,9 +550,9 @@ }; asyncobjects::SwiftPMPackageDescription /* AsyncObjectsPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_147 /* Build configuration list for PBXNativeTarget "AsyncObjectsPackageDescription" */; + buildConfigurationList = OBJ_149 /* Build configuration list for PBXNativeTarget "AsyncObjectsPackageDescription" */; buildPhases = ( - OBJ_150 /* Sources */, + OBJ_152 /* Sources */, ); buildRules = ( ); @@ -561,10 +564,10 @@ }; swift-collections::OrderedCollections /* OrderedCollections */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_180 /* Build configuration list for PBXNativeTarget "OrderedCollections" */; + buildConfigurationList = OBJ_182 /* Build configuration list for PBXNativeTarget "OrderedCollections" */; buildPhases = ( - OBJ_183 /* Sources */, - OBJ_234 /* Frameworks */, + OBJ_185 /* Sources */, + OBJ_236 /* Frameworks */, ); buildRules = ( ); @@ -577,9 +580,9 @@ }; swift-collections::SwiftPMPackageDescription /* swift-collectionsPackageDescription */ = { isa = PBXNativeTarget; - buildConfigurationList = OBJ_236 /* Build configuration list for PBXNativeTarget "swift-collectionsPackageDescription" */; + buildConfigurationList = OBJ_238 /* Build configuration list for PBXNativeTarget "swift-collectionsPackageDescription" */; buildPhases = ( - OBJ_239 /* Sources */, + OBJ_241 /* Sources */, ); buildRules = ( ); @@ -606,7 +609,7 @@ en, ); mainGroup = OBJ_5; - productRefGroup = OBJ_112 /* Products */; + productRefGroup = OBJ_113 /* Products */; projectDirPath = .; targets = ( asyncobjects::AsyncObjects /* AsyncObjects */, @@ -620,141 +623,142 @@ /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ - OBJ_120 /* Sources */ = { + OBJ_121 /* Sources */ = { isa = PBXSourcesBuildPhase; files = ( - OBJ_121 /* AsyncCountdownEvent.swift in Sources */, - OBJ_122 /* AsyncEvent.swift in Sources */, - OBJ_123 /* AsyncSemaphore.swift in Sources */, - OBJ_124 /* AsyncObject+Clock.swift in Sources */, - OBJ_125 /* AsyncObject+Duration.swift in Sources */, - OBJ_126 /* AsyncObject.swift in Sources */, - OBJ_127 /* CancellationSource.swift in Sources */, - OBJ_128 /* Continuable.swift in Sources */, - OBJ_129 /* ContinuableCollection.swift in Sources */, - OBJ_130 /* GlobalContinuation.swift in Sources */, - OBJ_131 /* TrackableContinuable.swift in Sources */, - OBJ_132 /* TrackedContinuation.swift in Sources */, - OBJ_133 /* Task.swift in Sources */, - OBJ_134 /* TaskGroup.swift in Sources */, - OBJ_135 /* Future.swift in Sources */, - OBJ_136 /* Exclusible.swift in Sources */, - OBJ_137 /* Locker.swift in Sources */, - OBJ_138 /* Loggable.swift in Sources */, - OBJ_139 /* TaskOperation.swift in Sources */, - OBJ_140 /* TaskQueue.swift in Sources */, - OBJ_141 /* TaskTracker.swift in Sources */, - BB028CDED6BCD928C0AAF339 /* AsyncObjects.docc in Sources */, + OBJ_122 /* AsyncCountdownEvent.swift in Sources */, + OBJ_123 /* AsyncEvent.swift in Sources */, + OBJ_124 /* AsyncSemaphore.swift in Sources */, + OBJ_125 /* AsyncObject+Clock.swift in Sources */, + OBJ_126 /* AsyncObject+Duration.swift in Sources */, + OBJ_127 /* AsyncObject.swift in Sources */, + OBJ_128 /* CancellationSource.swift in Sources */, + OBJ_129 /* Continuable.swift in Sources */, + OBJ_130 /* ContinuableCollection.swift in Sources */, + OBJ_131 /* ContinuableCollectionActor.swift in Sources */, + OBJ_132 /* GlobalContinuation.swift in Sources */, + OBJ_133 /* TrackableContinuable.swift in Sources */, + OBJ_134 /* TrackedContinuation.swift in Sources */, + OBJ_135 /* Task.swift in Sources */, + OBJ_136 /* TaskGroup.swift in Sources */, + OBJ_137 /* Future.swift in Sources */, + OBJ_138 /* Exclusible.swift in Sources */, + OBJ_139 /* Locker.swift in Sources */, + OBJ_140 /* Loggable.swift in Sources */, + OBJ_141 /* TaskOperation.swift in Sources */, + OBJ_142 /* TaskQueue.swift in Sources */, + OBJ_143 /* TaskTracker.swift in Sources */, + 286654AE55C95B05A5086634 /* AsyncObjects.docc in Sources */, ); }; - OBJ_150 /* Sources */ = { + OBJ_152 /* Sources */ = { isa = PBXSourcesBuildPhase; files = ( - OBJ_151 /* Package.swift in Sources */, + OBJ_153 /* Package.swift in Sources */, ); }; - OBJ_161 /* Sources */ = { + OBJ_163 /* Sources */ = { isa = PBXSourcesBuildPhase; files = ( - OBJ_162 /* AsyncCountdownEventTests.swift in Sources */, - OBJ_163 /* AsyncEventTests.swift in Sources */, - OBJ_164 /* AsyncObjectTests.swift in Sources */, - OBJ_165 /* AsyncSemaphoreTests.swift in Sources */, - OBJ_166 /* CancellationSourceTests.swift in Sources */, - OBJ_167 /* LockerTests.swift in Sources */, - OBJ_168 /* NonThrowingFutureTests.swift in Sources */, - OBJ_169 /* StandardLibraryTests.swift in Sources */, - OBJ_170 /* TaskOperationTests.swift in Sources */, - OBJ_171 /* TaskQueueTests.swift in Sources */, - OBJ_172 /* ThrowingFutureTests.swift in Sources */, - OBJ_173 /* TrackedContinuationTests.swift in Sources */, - OBJ_174 /* XCTestCase.swift in Sources */, + OBJ_164 /* AsyncCountdownEventTests.swift in Sources */, + OBJ_165 /* AsyncEventTests.swift in Sources */, + OBJ_166 /* AsyncObjectTests.swift in Sources */, + OBJ_167 /* AsyncSemaphoreTests.swift in Sources */, + OBJ_168 /* CancellationSourceTests.swift in Sources */, + OBJ_169 /* LockerTests.swift in Sources */, + OBJ_170 /* NonThrowingFutureTests.swift in Sources */, + OBJ_171 /* StandardLibraryTests.swift in Sources */, + OBJ_172 /* TaskOperationTests.swift in Sources */, + OBJ_173 /* TaskQueueTests.swift in Sources */, + OBJ_174 /* ThrowingFutureTests.swift in Sources */, + OBJ_175 /* TrackedContinuationTests.swift in Sources */, + OBJ_176 /* XCTestCase.swift in Sources */, ); }; - OBJ_183 /* Sources */ = { + OBJ_185 /* Sources */ = { isa = PBXSourcesBuildPhase; files = ( - OBJ_184 /* _HashTable+Bucket.swift in Sources */, - OBJ_185 /* _HashTable+BucketIterator.swift in Sources */, - OBJ_186 /* _HashTable+Constants.swift in Sources */, - OBJ_187 /* _HashTable+CustomStringConvertible.swift in Sources */, - OBJ_188 /* _HashTable+Testing.swift in Sources */, - OBJ_189 /* _HashTable+UnsafeHandle.swift in Sources */, - OBJ_190 /* _HashTable.swift in Sources */, - OBJ_191 /* _Hashtable+Header.swift in Sources */, - OBJ_192 /* OrderedDictionary+Codable.swift in Sources */, - OBJ_193 /* OrderedDictionary+CustomDebugStringConvertible.swift in Sources */, - OBJ_194 /* OrderedDictionary+CustomReflectable.swift in Sources */, - OBJ_195 /* OrderedDictionary+CustomStringConvertible.swift in Sources */, - OBJ_196 /* OrderedDictionary+Deprecations.swift in Sources */, - OBJ_197 /* OrderedDictionary+Elements+SubSequence.swift in Sources */, - OBJ_198 /* OrderedDictionary+Elements.swift in Sources */, - OBJ_199 /* OrderedDictionary+Equatable.swift in Sources */, - OBJ_200 /* OrderedDictionary+ExpressibleByDictionaryLiteral.swift in Sources */, - OBJ_201 /* OrderedDictionary+Hashable.swift in Sources */, - OBJ_202 /* OrderedDictionary+Initializers.swift in Sources */, - OBJ_203 /* OrderedDictionary+Invariants.swift in Sources */, - OBJ_204 /* OrderedDictionary+Partial MutableCollection.swift in Sources */, - OBJ_205 /* OrderedDictionary+Partial RangeReplaceableCollection.swift in Sources */, - OBJ_206 /* OrderedDictionary+Sequence.swift in Sources */, - OBJ_207 /* OrderedDictionary+Values.swift in Sources */, - OBJ_208 /* OrderedDictionary.swift in Sources */, - OBJ_209 /* OrderedSet+Codable.swift in Sources */, - OBJ_210 /* OrderedSet+CustomDebugStringConvertible.swift in Sources */, - OBJ_211 /* OrderedSet+CustomReflectable.swift in Sources */, - OBJ_212 /* OrderedSet+CustomStringConvertible.swift in Sources */, - OBJ_213 /* OrderedSet+Diffing.swift in Sources */, - OBJ_214 /* OrderedSet+Equatable.swift in Sources */, - OBJ_215 /* OrderedSet+ExpressibleByArrayLiteral.swift in Sources */, - OBJ_216 /* OrderedSet+Hashable.swift in Sources */, - OBJ_217 /* OrderedSet+Initializers.swift in Sources */, - OBJ_218 /* OrderedSet+Insertions.swift in Sources */, - OBJ_219 /* OrderedSet+Invariants.swift in Sources */, - OBJ_220 /* OrderedSet+Partial MutableCollection.swift in Sources */, - OBJ_221 /* OrderedSet+Partial RangeReplaceableCollection.swift in Sources */, - OBJ_222 /* OrderedSet+Partial SetAlgebra+Basics.swift in Sources */, - OBJ_223 /* OrderedSet+Partial SetAlgebra+Operations.swift in Sources */, - OBJ_224 /* OrderedSet+Partial SetAlgebra+Predicates.swift in Sources */, - OBJ_225 /* OrderedSet+RandomAccessCollection.swift in Sources */, - OBJ_226 /* OrderedSet+ReserveCapacity.swift in Sources */, - OBJ_227 /* OrderedSet+SubSequence.swift in Sources */, - OBJ_228 /* OrderedSet+Testing.swift in Sources */, - OBJ_229 /* OrderedSet+UnorderedView.swift in Sources */, - OBJ_230 /* OrderedSet+UnstableInternals.swift in Sources */, - OBJ_231 /* OrderedSet.swift in Sources */, - OBJ_232 /* RandomAccessCollection+Offsets.swift in Sources */, - OBJ_233 /* _UnsafeBitset.swift in Sources */, + OBJ_186 /* _HashTable+Bucket.swift in Sources */, + OBJ_187 /* _HashTable+BucketIterator.swift in Sources */, + OBJ_188 /* _HashTable+Constants.swift in Sources */, + OBJ_189 /* _HashTable+CustomStringConvertible.swift in Sources */, + OBJ_190 /* _HashTable+Testing.swift in Sources */, + OBJ_191 /* _HashTable+UnsafeHandle.swift in Sources */, + OBJ_192 /* _HashTable.swift in Sources */, + OBJ_193 /* _Hashtable+Header.swift in Sources */, + OBJ_194 /* OrderedDictionary+Codable.swift in Sources */, + OBJ_195 /* OrderedDictionary+CustomDebugStringConvertible.swift in Sources */, + OBJ_196 /* OrderedDictionary+CustomReflectable.swift in Sources */, + OBJ_197 /* OrderedDictionary+CustomStringConvertible.swift in Sources */, + OBJ_198 /* OrderedDictionary+Deprecations.swift in Sources */, + OBJ_199 /* OrderedDictionary+Elements+SubSequence.swift in Sources */, + OBJ_200 /* OrderedDictionary+Elements.swift in Sources */, + OBJ_201 /* OrderedDictionary+Equatable.swift in Sources */, + OBJ_202 /* OrderedDictionary+ExpressibleByDictionaryLiteral.swift in Sources */, + OBJ_203 /* OrderedDictionary+Hashable.swift in Sources */, + OBJ_204 /* OrderedDictionary+Initializers.swift in Sources */, + OBJ_205 /* OrderedDictionary+Invariants.swift in Sources */, + OBJ_206 /* OrderedDictionary+Partial MutableCollection.swift in Sources */, + OBJ_207 /* OrderedDictionary+Partial RangeReplaceableCollection.swift in Sources */, + OBJ_208 /* OrderedDictionary+Sequence.swift in Sources */, + OBJ_209 /* OrderedDictionary+Values.swift in Sources */, + OBJ_210 /* OrderedDictionary.swift in Sources */, + OBJ_211 /* OrderedSet+Codable.swift in Sources */, + OBJ_212 /* OrderedSet+CustomDebugStringConvertible.swift in Sources */, + OBJ_213 /* OrderedSet+CustomReflectable.swift in Sources */, + OBJ_214 /* OrderedSet+CustomStringConvertible.swift in Sources */, + OBJ_215 /* OrderedSet+Diffing.swift in Sources */, + OBJ_216 /* OrderedSet+Equatable.swift in Sources */, + OBJ_217 /* OrderedSet+ExpressibleByArrayLiteral.swift in Sources */, + OBJ_218 /* OrderedSet+Hashable.swift in Sources */, + OBJ_219 /* OrderedSet+Initializers.swift in Sources */, + OBJ_220 /* OrderedSet+Insertions.swift in Sources */, + OBJ_221 /* OrderedSet+Invariants.swift in Sources */, + OBJ_222 /* OrderedSet+Partial MutableCollection.swift in Sources */, + OBJ_223 /* OrderedSet+Partial RangeReplaceableCollection.swift in Sources */, + OBJ_224 /* OrderedSet+Partial SetAlgebra+Basics.swift in Sources */, + OBJ_225 /* OrderedSet+Partial SetAlgebra+Operations.swift in Sources */, + OBJ_226 /* OrderedSet+Partial SetAlgebra+Predicates.swift in Sources */, + OBJ_227 /* OrderedSet+RandomAccessCollection.swift in Sources */, + OBJ_228 /* OrderedSet+ReserveCapacity.swift in Sources */, + OBJ_229 /* OrderedSet+SubSequence.swift in Sources */, + OBJ_230 /* OrderedSet+Testing.swift in Sources */, + OBJ_231 /* OrderedSet+UnorderedView.swift in Sources */, + OBJ_232 /* OrderedSet+UnstableInternals.swift in Sources */, + OBJ_233 /* OrderedSet.swift in Sources */, + OBJ_234 /* RandomAccessCollection+Offsets.swift in Sources */, + OBJ_235 /* _UnsafeBitset.swift in Sources */, ); }; - OBJ_239 /* Sources */ = { + OBJ_241 /* Sources */ = { isa = PBXSourcesBuildPhase; files = ( - OBJ_240 /* Package.swift in Sources */, + OBJ_242 /* Package.swift in Sources */, ); }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - OBJ_144 /* PBXTargetDependency */ = { + OBJ_146 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = swift-collections::OrderedCollections /* OrderedCollections */; }; - OBJ_156 /* PBXTargetDependency */ = { + OBJ_158 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = asyncobjects::AsyncObjectsTests /* AsyncObjectsTests */; }; - OBJ_178 /* PBXTargetDependency */ = { + OBJ_180 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = asyncobjects::AsyncObjects /* AsyncObjects */; }; - OBJ_179 /* PBXTargetDependency */ = { + OBJ_181 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = swift-collections::OrderedCollections /* OrderedCollections */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - OBJ_118 /* Debug */ = { + OBJ_119 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = OBJ_8 /* AsyncObjects.xcconfig */; buildSettings = { @@ -785,7 +789,7 @@ }; name = Debug; }; - OBJ_119 /* Release */ = { + OBJ_120 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = OBJ_8 /* AsyncObjects.xcconfig */; buildSettings = { @@ -816,7 +820,7 @@ }; name = Release; }; - OBJ_148 /* Debug */ = { + OBJ_150 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -825,7 +829,7 @@ }; name = Debug; }; - OBJ_149 /* Release */ = { + OBJ_151 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -834,19 +838,19 @@ }; name = Release; }; - OBJ_154 /* Debug */ = { + OBJ_156 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { }; name = Debug; }; - OBJ_155 /* Release */ = { + OBJ_157 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { }; name = Release; }; - OBJ_159 /* Debug */ = { + OBJ_161 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = OBJ_8 /* AsyncObjects.xcconfig */; buildSettings = { @@ -874,7 +878,7 @@ }; name = Debug; }; - OBJ_160 /* Release */ = { + OBJ_162 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = OBJ_8 /* AsyncObjects.xcconfig */; buildSettings = { @@ -902,7 +906,7 @@ }; name = Release; }; - OBJ_181 /* Debug */ = { + OBJ_183 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = OBJ_8 /* AsyncObjects.xcconfig */; buildSettings = { @@ -933,7 +937,7 @@ }; name = Debug; }; - OBJ_182 /* Release */ = { + OBJ_184 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = OBJ_8 /* AsyncObjects.xcconfig */; buildSettings = { @@ -964,7 +968,7 @@ }; name = Release; }; - OBJ_237 /* Debug */ = { + OBJ_239 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -973,7 +977,7 @@ }; name = Debug; }; - OBJ_238 /* Release */ = { + OBJ_240 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { LD = /usr/bin/true; @@ -1038,47 +1042,47 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - OBJ_117 /* Build configuration list for PBXNativeTarget "AsyncObjects" */ = { + OBJ_118 /* Build configuration list for PBXNativeTarget "AsyncObjects" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_118 /* Debug */, - OBJ_119 /* Release */, + OBJ_119 /* Debug */, + OBJ_120 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_147 /* Build configuration list for PBXNativeTarget "AsyncObjectsPackageDescription" */ = { + OBJ_149 /* Build configuration list for PBXNativeTarget "AsyncObjectsPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_148 /* Debug */, - OBJ_149 /* Release */, + OBJ_150 /* Debug */, + OBJ_151 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_153 /* Build configuration list for PBXAggregateTarget "AsyncObjectsPackageTests" */ = { + OBJ_155 /* Build configuration list for PBXAggregateTarget "AsyncObjectsPackageTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_154 /* Debug */, - OBJ_155 /* Release */, + OBJ_156 /* Debug */, + OBJ_157 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_158 /* Build configuration list for PBXNativeTarget "AsyncObjectsTests" */ = { + OBJ_160 /* Build configuration list for PBXNativeTarget "AsyncObjectsTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_159 /* Debug */, - OBJ_160 /* Release */, + OBJ_161 /* Debug */, + OBJ_162 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_180 /* Build configuration list for PBXNativeTarget "OrderedCollections" */ = { + OBJ_182 /* Build configuration list for PBXNativeTarget "OrderedCollections" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_181 /* Debug */, - OBJ_182 /* Release */, + OBJ_183 /* Debug */, + OBJ_184 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1092,11 +1096,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - OBJ_236 /* Build configuration list for PBXNativeTarget "swift-collectionsPackageDescription" */ = { + OBJ_238 /* Build configuration list for PBXNativeTarget "swift-collectionsPackageDescription" */ = { isa = XCConfigurationList; buildConfigurations = ( - OBJ_237 /* Debug */, - OBJ_238 /* Release */, + OBJ_239 /* Debug */, + OBJ_240 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Sources/AsyncObjects/AsyncCountdownEvent.swift b/Sources/AsyncObjects/AsyncCountdownEvent.swift index 456cf0df..df2f1fcf 100644 --- a/Sources/AsyncObjects/AsyncCountdownEvent.swift +++ b/Sources/AsyncObjects/AsyncCountdownEvent.swift @@ -37,7 +37,7 @@ import OrderedCollections /// /// Use the ``limit`` parameter to indicate concurrent low priority usage, i.e. if limit set to zero, /// only one low priority usage allowed at one time. -public actor AsyncCountdownEvent: AsyncObject, ContinuableCollection, +public actor AsyncCountdownEvent: AsyncObject, ContinuableCollectionActor, LoggableActor { /// The suspended tasks continuation type. diff --git a/Sources/AsyncObjects/AsyncEvent.swift b/Sources/AsyncObjects/AsyncEvent.swift index e3e019de..765759bc 100644 --- a/Sources/AsyncObjects/AsyncEvent.swift +++ b/Sources/AsyncObjects/AsyncEvent.swift @@ -25,7 +25,8 @@ import Foundation /// // signal event after completing some task /// event.signal() /// ``` -public actor AsyncEvent: AsyncObject, ContinuableCollection, LoggableActor { +public actor AsyncEvent: AsyncObject, ContinuableCollectionActor, LoggableActor +{ /// The suspended tasks continuation type. @usableFromInline internal typealias Continuation = TrackedContinuation< diff --git a/Sources/AsyncObjects/AsyncSemaphore.swift b/Sources/AsyncObjects/AsyncSemaphore.swift index 9753bf3d..0f113321 100644 --- a/Sources/AsyncObjects/AsyncSemaphore.swift +++ b/Sources/AsyncObjects/AsyncSemaphore.swift @@ -26,7 +26,9 @@ import OrderedCollections /// // release after executing critical async tasks /// defer { semaphore.signal() } /// ``` -public actor AsyncSemaphore: AsyncObject, ContinuableCollection, LoggableActor { +public actor AsyncSemaphore: AsyncObject, ContinuableCollectionActor, + LoggableActor +{ /// The suspended tasks continuation type. @usableFromInline internal typealias Continuation = TrackedContinuation< diff --git a/Sources/AsyncObjects/Continuation/ContinuableCollection.swift b/Sources/AsyncObjects/Continuation/ContinuableCollection.swift index fec00010..41672fb8 100644 --- a/Sources/AsyncObjects/Continuation/ContinuableCollection.swift +++ b/Sources/AsyncObjects/Continuation/ContinuableCollection.swift @@ -6,7 +6,7 @@ import Foundation /// A type that manages a collection of continuations with an associated key. /// -/// While removing continuation, the continuation should be cancelled +/// While removing continuation, the continuation should be cancelled. @rethrows internal protocol ContinuableCollection { /// The continuation item type in collection. diff --git a/Sources/AsyncObjects/Continuation/ContinuableCollectionActor.swift b/Sources/AsyncObjects/Continuation/ContinuableCollectionActor.swift new file mode 100644 index 00000000..2f91aae0 --- /dev/null +++ b/Sources/AsyncObjects/Continuation/ContinuableCollectionActor.swift @@ -0,0 +1,118 @@ +#if swift(>=5.7) +import Foundation + +/// An actor type that manages a collection of continuations with an associated key. +/// +/// On `Swift 5.7` and above [actor isolation bug with protocol conformance](https://forums.swift.org/t/actor-isolation-is-broken-by-protocol-conformance/57040) +/// is fixed, and hence original protocol can be used without any issue. +typealias ContinuableCollectionActor = ContinuableCollection +#else +@preconcurrency import Foundation + +/// An actor type that manages a collection of continuations with an associated key. +/// +/// This is to avoid [actor isolation bug with protocol conformance on older `Swift` versions](https://forums.swift.org/t/actor-isolation-is-broken-by-protocol-conformance/57040). +/// +/// While removing continuation, the continuation should be cancelled. +@rethrows +internal protocol ContinuableCollectionActor: Actor { + /// The continuation item type in collection. + associatedtype Continuation: Continuable + /// The key type that is associated with each continuation item. + associatedtype Key: Hashable + + /// Add continuation with the provided key to collection for tracking. + /// + /// - Parameters: + /// - continuation: The continuation value to add. + /// - key: The key to associate continuation with. + /// - file: The file add request originates from. + /// - function: The function add request originates from. + /// - line: The line add request originates from. + /// - preinit: The pre-initialization handler to run + /// in the beginning of this method. + /// + /// - Important: The pre-initialization handler must run + /// before any logic in this method. + func addContinuation( + _ continuation: Continuation, withKey key: Key, + file: String, function: String, line: UInt, + preinit: @Sendable () -> Void + ) + /// Remove continuation with the associated key from collection out of tracking. + /// + /// - Parameters: + /// - continuation: The continuation value to remove and cancel. + /// - key: The key for continuation to remove. + /// - file: The file remove request originates from. + /// - function: The function remove request originates from. + /// - line: The line remove request originates from. + func removeContinuation( + _ continuation: Continuation, withKey key: Key, + file: String, function: String, line: UInt + ) + /// Suspends the current task, then calls the given closure with a continuation for the current task. + /// + /// - Parameters: + /// - key: The key associated to task, that requested suspension. + /// - file: The file wait request originates from. + /// - function: The function wait request originates from. + /// - line: The line wait request originates from. + /// + /// - Returns: The value continuation is resumed with. + /// - Throws: If `resume(throwing:)` is called on the continuation, this function throws that error. + func withPromisedContinuation( + withKey key: Key, + file: String, function: String, line: UInt + ) async rethrows -> Continuation.Success +} + +extension ContinuableCollectionActor +where + Self: AnyObject & Sendable, Continuation: TrackableContinuable & Sendable, + Continuation.Value: Sendable & ThrowingContinuable, Key: Sendable, + Key == Continuation.ID +{ + /// Suspends the current task, then calls the given closure with a throwing continuation for the current task. + /// Continuation can be cancelled with error if current task is cancelled, by invoking `removeContinuation`. + /// + /// Spins up a new continuation and requests to track it with key by invoking `addContinuation`. + /// This operation cooperatively checks for cancellation and reacting to it by invoking `removeContinuation`. + /// Continuation can be resumed with error and some cleanup code can be run here. + /// + /// - Parameters: + /// - key: The key associated to task, that requested suspension. + /// - file: The file wait request originates from (there's usually no need to pass it + /// explicitly as it defaults to `#fileID`). + /// - function: The function wait request originates from (there's usually no need to + /// pass it explicitly as it defaults to `#function`). + /// - line: The line wait request originates from (there's usually no need to pass it + /// explicitly as it defaults to `#line`). + /// + /// - Returns: The value continuation is resumed with. + /// - Throws: If `resume(throwing:)` is called on the continuation, this function throws that error. + @inlinable + nonisolated func withPromisedContinuation( + withKey key: Key, + file: String, function: String, line: UInt + ) async rethrows -> Continuation.Success { + return try await Continuation.withCancellation(id: key) { + continuation in + Task { [weak self] in + await self?.removeContinuation( + continuation, withKey: key, + file: file, function: function, line: line + ) + } + } operation: { continuation, preinit in + Task { [weak self] in + await self?.addContinuation( + continuation, withKey: key, + file: file, function: function, line: line, + preinit: preinit + ) + } + } + } +} +#endif From 157567cb82321c24e39639a6e45438d1c53ad838 Mon Sep 17 00:00:00 2001 From: soumyamahunt Date: Thu, 15 Dec 2022 13:00:55 +0530 Subject: [PATCH 2/2] wip: improve semaphore logs --- Sources/AsyncObjects/AsyncSemaphore.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/AsyncObjects/AsyncSemaphore.swift b/Sources/AsyncObjects/AsyncSemaphore.swift index 0f113321..1dc01fbf 100644 --- a/Sources/AsyncObjects/AsyncSemaphore.swift +++ b/Sources/AsyncObjects/AsyncSemaphore.swift @@ -115,8 +115,8 @@ public actor AsyncSemaphore: AsyncObject, ContinuableCollectionActor, withKey key: UUID, file: String, function: String, line: UInt ) { - log("Removing", id: key, file: file, function: function, line: line) incrementCount() + log("Removing", id: key, file: file, function: function, line: line) continuations.removeValue(forKey: key) guard !continuation.resumed else { log(