SE-0359: Build-Time Constant Values

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 { }.

1 Like