mgroovy commented on GROOVY-8570:

@[~paulk]: You mean https://issues.apache.org/jira/browse/GROOVY-8580 ? That is 
3 days old, so I had not seen it yet. Yes, of course, the IntelliJ warning 
should of course differentiate between the static and dynamic case, if they 
have differing semantics. Of course making var != def in both cases would do 
away with the need for any warning :-)

> Support Warnings in Groovy Compiler
> -----------------------------------
>                 Key: GROOVY-8570
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8570
>             Project: Groovy
>          Issue Type: New Feature
>          Components: Compiler
>    Affects Versions: 3.0.0-alpha-3
>            Reporter: mgroovy
>            Priority: Major
> * To warn Java developers using e.g. non-idiomatic Groovy constructs which 
> only exist to support copy-and-paste Java-to-Groovy code compatibility, The 
> Groovy compiler should support compiler warnings in addition to compiler 
> errors.
>  * Warnings should by default only be emitted in special circumstances such 
> as the one described above, and not spam developers with an endless stream 
> of, often subjectve, messages on "how to use Groovy correctly".
>  * Sample warnings:
> # WARNING: Using curly braces Java style array literals (\{...}) is not 
> idiomatic Groovy. To avoid confusion with Groovy closures, it is recommended 
> to use the performance-identical Groovy square bracket list literal syntax 
> ([...]) instead.
> # WARNING: The 'var' keyword is currently only an alias to 'def' (i.e. 
> Object) in Groovy. To get reassignment type safety use an explicit type 
> instead.

This message was sent by Atlassian JIRA

Reply via email to