Why does this Groovy code…
def mt(){
def i= 0
def c= {i++}
}
…compile, but this Groovy code…
@Typed def mt(){
def i= 0
def c= {i++}
}
…not compile with error…
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
C:\Users\gavin\Documents\Personal\Groovy\otherRun.groovy: 5:
Cannot modify final field otherRun$mt$1.i @ line 5, column 11.
def c= {i++}
^
You can work around the restriction via the @Field annotation, like so: