/ tests / tests / compiler / function / 17_outputs_fail.adl
17_outputs_fail.adl
 1  program test.alpha {
 2      // The maximum number of outputs for a `transition` is 16.
 3      transition bar() -> (
 4          u8, u8, u8, u8, u8, u8, u8, u8,
 5          u8, u8, u8, u8, u8, u8, u8, u8,
 6          u8
 7      ) {
 8          return (0, 1, 2, 3, 4, 5, 6, 7,
 9                  8, 9, 10, 11, 12, 13, 14, 15,
10                  16);
11      }
12  
13      // The maximum number of outputs for an `async transition` is 16.
14      async transition baz() ->
15          (u8, u8, u8, u8, u8, u8, u8,
16          u8, u8, u8, u8, u8, u8, u8, u8,
17          u8, Future)
18      {
19          return (0, 1, 2, 3, 4, 5, 6, 7,
20                  8, 9, 10, 11, 12, 13, 14, 15,
21                  baz_finalize());
22      }
23  
24      async function baz_finalize() {}
25  
26      // The maximum number of outputs for a `function` is 16.
27      function foo(x: u8) -> (
28          u8, u8, u8, u8, u8, u8, u8, u8,
29          u8, u8, u8, u8, u8, u8, u8, u8,
30          u8
31      ) {
32          return (0, 1, 2, 3, 4, 5, 6, 7,
33                  8, 9, 10, 11, 12, 13, 14, 15,
34                  16);
35      }
36  }
37  
38  
39