/ tests / tests / interpreter / structs.adl
structs.adl
 1  /*
 2  seed = 123456789
 3  
 4  //[case]
 5  //program = "test.alpha"
 6  //function = "makeone"
 7  //input = ["1field", "2u32"]
 8  
 9  [case]
10  program = "test.alpha"
11  function = "makeconsts"
12  input = ["1field", "2field"]
13  */
14  
15  program test.alpha {
16      struct SomeStruct {
17          x: field,
18          y: u32,
19      }
20  
21      transition makeone(x: field, y: u32) -> SomeStruct {
22          return SomeStruct {
23              x,
24              y,
25          };
26      }
27  
28      struct StructConsts::[X: u32, Y: u32] {
29          xs: [field; X + Y],
30      }
31  
32      transition makeconsts(x: field, y: field) -> StructConsts::[1u32, 2u32] {
33          return StructConsts::[1u32, 2u32] {
34              xs: [x, y, y],
35          };
36      }
37  
38      @noupgrade
39      async constructor() {}
40  }