I have an aesthetic concern.
As others have pointed out, this proposal explicitly does not propose any mitigation for the virality of @const
that is evidenced in other languages, particularly C++. As such, we can reasonably expect @const
to start appearing very frequently. I believe this tips the scales to eliminating the @
prefix whenever possible.
The @objc
analogy is a false equivalence, because most uses of @objc
are inferred, and this proposal avoids the topic of const inference.
To make another analogy, Swift concurrency has both : Sendable
and @Sendable
. These could have been collapsed into a single @Sendable
attribute, but I suspect the language designers would have found it aesthetically unpleasing to have @Sendable struct Foo { }
.