The rule “Future keywords should not be used as names” currently includes enum and _ (underscore). Java 10 added the ‘var’ keyword, so this should be added. (Actually, the rule would be better off as a user-customizable list or regex – see Check identifier spelling against blacklist?, Custom Rule for avoid keyword, Black Lives Matter ruleset .
To be precise,
var is not a keyword but a restricted identifier. While I would not blame you if you call it a keyword in an everyday conversation, the difference matters in our situation since the impact is not the same. In fact, you can use
var as identifier:
var var = "var";
Still, it makes sense to discourage such code, this is why we recently specified RSPEC-6213, also supporting
Then, concerning extending S1190, it does not make sense to me. S1190 is targeting future keywords of the language, the list is known and is the same for everyone, there is no need to customize the value.
Hope it clarifies the situation.