mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
This implements support for autoclosures, closures and local functions nested within a pack iteration for loop. The combination of explicit closure expressions and pack expansion expressions still needs some work. Fixes #66917. Fixes #69947. Fixes rdar://113505724. Fixes rdar://122293832. Fixes rdar://124329076.
9 lines
289 B
Swift
9 lines
289 B
Swift
// RUN: %target-swift-frontend -emit-ir %s
|
|
|
|
public func withOptionalsAsPointers<T, each Opt>(
|
|
_ optional: repeat Optional<each Opt>,
|
|
body: (repeat UnsafePointer<each Opt>?) throws -> T
|
|
) rethrows -> T {
|
|
return try body(repeat (each optional).map { withUnsafePointer(to: $0) { $0 } })
|
|
}
|