This repository was archived by the owner on Jun 1, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +11
-18
lines changed
Sources/SwiftDoc/Extensions Expand file tree Collapse file tree 1 file changed +11
-18
lines changed Original file line number Diff line number Diff line change @@ -7,30 +7,23 @@ public extension RandomAccessCollection {
7
7
}
8
8
9
9
let indices = Array ( self . indices)
10
-
11
- var results = [ ( index: Index , result: Result < T , Error > ) ] ( )
12
- results. reserveCapacity ( count)
10
+ var results = [ Result < T , Error > ? ] ( repeating: nil , count: count)
13
11
14
12
let queue = DispatchQueue ( label: #function)
15
- withoutActuallyEscaping ( transform) { escapingtransform in
16
- DispatchQueue . concurrentPerform ( iterations: count) { ( iteration) in
17
- let index = indices [ iteration]
18
-
19
- do {
20
- let transformed = try escapingtransform ( self [ index] )
21
- queue. sync {
22
- results. append ( ( index, . success( transformed) ) )
23
- }
24
- } catch {
25
- queue. sync {
26
- results. append ( ( index, . failure( error) ) )
27
- }
13
+ DispatchQueue . concurrentPerform ( iterations: count) { ( iteration) in
14
+ do {
15
+ let transformed = try transform ( self [ indices [ iteration] ] )
16
+ queue. sync {
17
+ results [ iteration] = . success( transformed)
18
+ }
19
+ } catch {
20
+ queue. sync {
21
+ results [ iteration] = . failure( error)
28
22
}
29
23
}
30
24
}
31
25
32
- return try results. sorted { $0. index < $1. index }
33
- . map { try $0. result. get ( ) }
26
+ return try results. map { try $0!. get ( ) }
34
27
}
35
28
36
29
func parallelCompactMap< T> ( transform: ( Element ) throws -> T ? ) throws -> [ T ] {
You can’t perform that action at this time.
0 commit comments