[ 
https://issues.apache.org/jira/browse/GROOVY-12297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18107847#comment-18107847
 ] 

Björn Kautler commented on GROOVY-12297:
----------------------------------------

Actually, also generic {{Tuple}} like
{code}
@groovy.transform.CompileStatic
class Foo {
  def foo() {
    def (foo, bar) = bar()
    println(foo)
    println(bar)
  }

  Tuple bar() {
    ["foo", "bar"] as Tuple
  }
}
new Foo().foo()
{code}
does not work but would nice if it worked.

> STC: multi-assignment works with Tuple-returning methods on the RHS but not 
> with List-returning methods
> -------------------------------------------------------------------------------------------------------
>
>                 Key: GROOVY-12297
>                 URL: https://issues.apache.org/jira/browse/GROOVY-12297
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 5.0.3
>            Reporter: Björn Kautler
>            Priority: Major
>
> This does work under STC:
> {code}
> @groovy.transform.CompileStatic
> class Foo {
>   def foo() {
>     def (foo, bar) = bar()
>     println(foo)
>     println(bar)
>   }
>   Tuple2 bar() {
>     ["foo", "bar"] as Tuple2
>   }
> }
> new Foo().foo()
> {code}
> but this does cause a compilation error that only List or Tuple on the RHS 
> are supported:
> {code}
> @groovy.transform.CompileStatic
> class Foo {
>   def foo() {
>     def (foo, bar) = bar()
>     println(foo)
>     println(bar)
>   }
>   List bar() {
>     ["foo", "bar"]
>   }
> }
> new Foo().foo()
> {code}
> Would be nice if also {{List}} would work here.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to