I think this is a great idea for IDEs to have as an inspection :)
Inheritance of annotations, or anything that even smells like it, is a siren song (e.g., what happens when something is inherited from two interfaces, differently annotated?) And further, I cannot recall a single tweak to annotations that has not given rise to "but you do X here, surely you have to do Y there." So it's a double whammy -- we don't get a good return, plus we encourage more demand for doing more of the same kind of bad investment.
To me, the return on this investment _in the language_ seems dramatically negative. (But for IDEs, it might be great.)
On 10/24/2020 9:29 PM, Tagir Valeev wrote:
Hello! As suggested by Lukas Eder on Twitter ( https://mobile.twitter.com/lukaseder/status/1318890756250193920 ), it looks a good idea to allow SafeVarargs on the methods of sealed classes/interfaces. The rules could be the following: Check all the permitted subtypes. For every permitted subtype: - If it has this method overridden/implemented, then it must also be annotated as SafeVarargs - Otherwise, if the subtype is non-sealed, it's an error - Otherwise, the procedure is repeated for all the permitted subtypes of this subtype. What do you think? With best regards, Tagir Valeev.