You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Björn Kautler (Jira)" <ji...@apache.org> on 2026/08/26 02:37:00 UTC

[jira] [Resolved] (GROOVY-12297) STC: multi-assignment works with Tuple-returning methods on the RHS but not with List-returning methods

     [ https://issues.apache.org/jira/browse/GROOVY-12297?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Björn Kautler resolved GROOVY-12297.
------------------------------------
    Fix Version/s: 6.0.0-alpha-1
       Resolution: Fixed

Ah, indeed, nice, thanks. :)

> 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
>             Fix For: 6.0.0-alpha-1
>
>
> 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)