Evaluates a closure while ensuring that the given instance is not destroyed before the closure returns.
func withExtendedLifetime<T, Result>(_ x: T, _ body: () throws -> Result) rethrows -> Result
An instance to preserve until the execution of
A closure to execute that depends on the lifetime of
xbeing extended. If
bodyhas a return value, that value is also used as the return value for the
The return value, if any, of the
body closure parameter.