Community

Swift - Result 타입, 이제 async 클로저도 바로 받을 수 있어요!

기존 Result.init(catching:)은 동기 throwing 클로저만 받을 수 있어서, async 작업을 Result로 감싸려면 매번 do-catch를 직접 작성해야 했어요. 어렵진 않지만 코드베이스마다 동일한 보일러플레이트가 반복됐죠. SE-0530은 async 오버로드를 추가해 이 문제를 해결합니다. let result = await Result { try await asyncWork() } 동기 버전과 완전히 동일한 패턴으로 async 작업을 Result로 감쌀 수 있게 됩니다. Success: ~Copyable과 typed throws(SE-0413)도 지원하고, @_alwaysEmitIntoClient로 backdeployment도 가능해요. Swift 6.4에 구현 완료된 작지만 실용적인 변경입니다 🙌 https://green1229.tistory.com/623

알림

알림이 없습니다