Hi Rémi,
1. yes, I saw that, thank you.
1. Most of the examples seemed obvious to me, and the bugs that
could be introduced feel like they are a little bit on the
artficial side.
2. But, having said that: Inferring an interface type or a less
specific parent type in some cases could imho be a very Groovy thing:
1. e.g. inferring List<T> instead of ArrayList<T>
2. Potentially through some explicit construct, such as "var>" to
indicate that a more loose / interface type shall be used.
3. Not that I see any of that becoming a reality anywhere in the near
future... ;-)
Cheers, mg
PS: I googled a bit, and I could not find in general that ppl think var
in Java is something you should avoid. Instead, as with any language
feature, one can over-/abuse it, thereby making code less readable than
when using explicit types.
It is funny thinking about this in the context of Groovy, where
typically ppl who use it as a scripting language do not even use final
instead of def when defining variables, even though they will never
reassign said variable 99% of the time... ;-)
There is an official guide that explains some of the gotchas
https://openjdk.org/projects/amber/guides/lvti-style-guide
regards,
Rémi