Arguments to annotations have to be compile-time constants, so it seems to me some syntax like this could exist:
typealias MySpecificAnnotation = SomeAnnotation("argument")
Now, it’s possible something like this already exists that I missed, and it’s also possible I’ve neglected to consider some reasons why something like this would be inadviseable, but I was curious if it was considered.
I’d also like to see something like
typealias MyAnnotation(x: String) = OtherAnnotation(x, CONSTANT) or even
typealias MyAnnotation = OtherAnnotation() + AnotherAnnotation() (adding two annotations with a single annotation, I’ve seen classes where every field has three annotations for various serialization frameworks, and they all take the same argument).
Yes please, the ability to create a custom
@PublicApi annotation that suppresses unused warnings, and does a few other things would be incredibly useful for library authors