Swift
-
[SE-0520] Discardable result use in Task initializersSwift 2026. 4. 25. 09:58
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SE-0520 — Task 이니셜라이저에서의 Discardable result 처리에 대해 정리해보겠습니다 🙋🏻IntroProposal: SE-0520Author: Konrad 'ktoso' MalawskiStatus: AcceptedMotivation현재 아래 코드는 아무런 경고 없이 컴파일됩니다.Task { // no warning try boom() }print("Yay!") 간단한 예시에서는 에러를 놓쳤다는 게 명확하지만, 실제 코드베이스에서는 노이즈가 많아서 에러를 조용히 무시했다는 사실을 놓치기 쉽거든요. 이 문제는 Swift 커뮤니티에서 여러 차례 제기되었습니다.Task initializer with throwing closure swallo..
-
[SE-0519] Borrow and Inout types for safe, first-class referencesSwift 2026. 4. 11. 09:55
안녕하세요. 그린입니다 🍏이번 포스팅에서는 안전한 first-class 참조를 위한 Borrow와 Inout 타입에 대해 정리해보겠습니다 🙋🏻IntroProposal: SE-0519Authors: Joe Groff, Alejandro AlonsoStatus: Active review (March 4...17, 2026)MotivationSwift는 함수 호출의 일부로 값에 대한 임시 접근을 제공할 수 있습니다.inout 파라미터: 호출자가 소유한 값에 대한 임시 독점(exclusive) 접근을 받습니다. 호출된 쪽에서 파라미터를 수정하거나 현재 값을 소비(consume)할 수 있고, 호출자는 함수가 반환되면 소유권을 다시 가져옵니다.borrowing 파라미터: 호출자로부터 값에 대한 임시 공유(sh..
-
[SE-0518] tide-SendableSwift 2026. 4. 5. 08:26
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SE-0518 — ~Sendable로 non-Sendable 타입을 명시적으로 표현하기에 대해 정리해보겠습니다 🙋🏻IntroProposal: SE-0518Status: Implemented (Swift 6.4)Experimental Feature Flag: TildeSendableMotivationpublic 타입이 Sendable을 명시적으로 conform하지 않을 때, 그 의도를 파악하기가 쉽지 않습니다.아직 Sendable conformance를 추가하지 않은 건지, 아니면 의도적으로 non-Sendable로 설계한 건지가 불분명하거든요.이를 판단하려면 타입의 스토리지 구조와 동기화 메커니즘 같은 구현 세부사항을 알아야 하는데, 라이브러리 외부에서는 ..
-
Swift 6.3Swift 2026. 3. 29. 08:58
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Swift 6.3에서 릴리즈된 내용들을 정리해보겠습니다 🙋🏻Intro2026년 3월 24일, Swift 6.3이 공식 릴리즈되었습니다.Swift는 소프트웨어 스택의 모든 레이어에서 사용할 수 있는 언어를 목표로 설계되었습니다.임베디드 펌웨어, 인터넷 규모의 서비스, 풀-피처 모바일 앱을 만들든 간에,Swift는 강력한 안전성 보장, 필요할 때의 성능 제어, 그리고 표현력 있는 언어 기능과 API를 제공하거든요 👍 Swift 6.3은 이러한 이점들을 스택 전반에 걸쳐 더 넓게 활용할 수 있도록 해줍니다. 이번 릴리즈의 주요 내용은 다음과 같습니다더 유연한 C 상호운용성크로스 플랫폼 빌드 툴링 개선임베디드 환경에서의 Swift 개선공식 Swift SDK fo..
-
Swift 6.2.4Swift 2026. 3. 22. 07:06
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Swift 6.2.4에서 릴리즈된 내용들을 정리해보겠습니다 🙋🏻Intro2026년 2월 27일, Swift 6.2.4가 공식 릴리즈되었습니다.이번 릴리즈는 주로 버그 수정과 성능 개선에 초점을 맞춘 마이너 업데이트입니다.Xcode 26.3에 Swift 6.2.4가 포함되어 있으며, Swiftly나 Docker를 통해서도 설치할 수 있습니다 🚀 설치 방법Swiftly 사용swiftly install 6.2.4# 또는swiftly install latest 직접 다운로드Swift.org에서 툴체인을 직접 다운로드할 수 있습니다. DockerDocker 이미지는 곧 hub.docker.com/_/swift에서 사용 가능합니다. XcodeXcode 26.3에 S..
-
[SE-0515] Allow reduce to produce noncopyable resultsSwift 2026. 3. 14. 07:40
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SE-0515 Allow reduce to produce noncopyable results에 대해 정리해보겠습니다 🙋🏻IntroSwift의 reduce는 정말 유용한 함수이지만, 몇 가지 한계가 있었습니다.noncopyable 타입을 다룰 수 없었고, initial value를 borrow하는 방식이라 불필요한 복사가 발생했어요. SE-0515는 reduce를 개선합니다 😁Noncopyable initial value와 result를 허용하고Copyable일 때도 initial value를 consume하도록 변경합니다이미 PR이 Accepted 상태이고 구현도 완료되었으니, 곧 현업에서도 쓸 수 있을 것 같습니다 🚀 왜 필요한가?Noncopyable..
-
[SE-0514] Hashable Conformance for Dictionary.Keys, CollectionOfOne and EmptyCollectionSwift 2026. 3. 2. 09:14
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SE-0514 Hashable Conformance for Dictionary.Keys, CollectionOfOne and EmptyCollection에 대해 정리해보겠습니다 🙋🏻IntroSwift 표준 라이브러리의 몇몇 collection 타입들이 Hashable을 conform하지 않는 게 있습니다.Dictionary.Keys, CollectionOfOne, EmptyCollection이 바로 그것들인데요. 이번 SE-0514는 이 세 타입에 Hashable conformance를 추가하는 제안입니다. 특히 Dictionary.Keys는 모든 key가 이미 Hashable인데 keys view 자체는 Hashable이 아닌 게 좀 이상하죠.간단하지만 ..
-
[SE-0510] Introduce Dictionary.mapValuesWithKeysSwift 2026. 2. 21. 00:45
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SE-0510 Introduce Dictionary.mapValuesWithKeys에 대해 정리해보겠습니다 🙋🏻IntroDictionary의 값을 변환할 때 key 정보도 함께 필요한 경우가 종종 있습니다.하지만 현재는 이런 작업을 하려면 init(uniqueKeysWithValues:)나 reduce(into:)를 써야 하는데, 이들은 불필요하게 dictionary를 rehashing하거나 재할당하는 비용이 발생합니다. SE-0510은 이 문제를 해결하기 위해 mapValuesWithKeys라는 새로운 메서드를 제안합니다.Key 정보를 transformation closure에 전달하면서도 성능 오버헤드 없이 값만 변환할 수 있습니다 🚀 현재 시점에서는..