func withExtendedLifetime<T, Result>(_: T, f: @noescape T -> Result) Evaluate f(x) and return its result, ensuring that x is not destroyed before f returns. Declaration func withExtendedLifetime<T, Result>(x: T, f: @noescape T -> Result) -> Result func withExtendedLifetime<T, Result>(_: T, f: @noescape () -> Result) Evaluate f() and return its result, ensuring that x is not destroyed before f returns. Declaration func withExtendedLifetime<T, Result>(x: T, f: @noescape () -> Result) -> Result