Briefs
-
Swift Warts
View all →Briefs about unfortunate pain points in the Swift language and standard library
-
Definition Order Matters in Swift Packages
You Can Use Helpers in
Package.swift, but only if they are defined before use. -
Lack of a
decltypeEquivalentIn the absence of a
decltype-like mechanism, some nice-to-have macros wind up unimplementable -
You Cannot Express Generic Actor Isolation Parameters
Swift lets you write
@MainActorand@SomeOtherActor, but not@'A, whereAis a generic actor parameter. -
Lazy Sequences Lack Primary Associated Types
You can write
Sequence<Element>but notLazySequenceProtocol<Element> -
Lazy Sequences Lack Primary Associated Types
You can write
Sequence<Element>but notLazySequenceProtocol<Element> -
Name Collisions in Result Builders
You get a
ForEach, and you get aForEach, and... -
First Trailing Closure Cannot Have a Label
Swift forbids labeling the first trailing closure, which can be a surprising obstacle to idiomatic API design.
-
Lazy Sequences "Decay" Easily
Swift's lazy functional API is elegant, but prone to silently decaying back to its eager equivalent.
-
-
Objective-C
View all →Briefs about Objective-C.
-
Claude Code
View all →Briefs about using and optimizing Claude Code, the agentic coding assistant