[ https://issues.apache.org/jira/browse/GROOVY-10960?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul King updated GROOVY-10960: ------------------------------- Description: Following on from GROOVY-10953 we could consider reporting an error where the RHS of a range expression has a known size and that size is smaller than the number of variables in the multi-assignment, e.g.: {code} def (a,b,c) = 1..2 {code} For static Groovy, after GROOVY-10953, and always for dynamic Groovy, {{c}} would be null. We can exclude this behavior and instead provide an error by adding an additional check. was: The following code runs fine without {{TypeChecked}} but fails in static checking mode. {code} @groovy.transform.TypeChecked def method() { def (x, y, z) = 1..3 assert "$x $y $z" == '1 2 3' } method() {code} The error is: {noformat} [Static type checking] - Multiple assignments without list or tuple on the right-hand side are unsupported in static type checking mode {noformat} The workaround is to replace the range on the RHS of the multi-assignment with a list: {code} def (x, y, z) = [1, 2, 3] {code} But since we know the range expression, we can do further checking. > For multi-assignment type checking of Range expressions, consider reporting > an error for cases which have a known size > ---------------------------------------------------------------------------------------------------------------------- > > Key: GROOVY-10960 > URL: https://issues.apache.org/jira/browse/GROOVY-10960 > Project: Groovy > Issue Type: Improvement > Reporter: Paul King > Assignee: Paul King > Priority: Major > Fix For: 5.0.0-alpha-1 > > > Following on from GROOVY-10953 we could consider reporting an error where the > RHS of a range expression has a known size and that size is smaller than the > number of variables in the multi-assignment, e.g.: > {code} > def (a,b,c) = 1..2 > {code} > For static Groovy, after GROOVY-10953, and always for dynamic Groovy, {{c}} > would be null. > We can exclude this behavior and instead provide an error by adding an > additional check. -- This message was sent by Atlassian Jira (v8.20.10#820010)