If you want to unpack the tuple you have to declare the resulting variables first, like this: proc foo(): (int, int, int) = (1,2,3) static: var a,b,c : int (a,b,c) = foo() echo a,b,c
what is quite strange is that this does not pass gcc compilation, it might be a bug: proc foo(): (int, int, int) = (1,2,3) static: var a,b,c : int (a,b,c) = foo() echo a,b,c