- subscript and operator labels
- no optional first trailing closure label
-
open
access modifier not applying to protocols - keypath requiring the hashability of the path (it's good but sometimes a real pain point)
- well access modifiers below internal, there is just not enough flexibility, therefore I only use public and implicit internal and never anything else except open when necessary
- callAsFunction naming scheme, as it could have been a nice and clean anonymous function instead
- subscript not being treated as a keyword like func and requiring a space after it
- the whole weirdness about associated type inference in combination with where clauses (What kind of magic behavior is this?)
I'll extend the list if anything else comes to my mind.