/ tests / expectations / execution / array_of_optionals.out
array_of_optionals.out
 1  program test.alpha;
 2  
 3  struct Optional__DOnC9eGtnsJ:
 4      is_some as boolean;
 5      val as u64;
 6  
 7  function main:
 8      cast true 1u64 into r0 as Optional__DOnC9eGtnsJ;
 9      cast r0.is_some r0.val into r1 as Optional__DOnC9eGtnsJ;
10      cast false 0u64 into r2 as Optional__DOnC9eGtnsJ;
11      cast r2.is_some r2.val into r3 as Optional__DOnC9eGtnsJ;
12      cast true 3u64 into r4 as Optional__DOnC9eGtnsJ;
13      cast r4.is_some r4.val into r5 as Optional__DOnC9eGtnsJ;
14      cast false 0u64 into r6 as Optional__DOnC9eGtnsJ;
15      cast r6.is_some r6.val into r7 as Optional__DOnC9eGtnsJ;
16      cast r1 r3 r5 r7 into r8 as [Optional__DOnC9eGtnsJ; 4u32];
17      ternary r8[0u32].is_some r8[0u32].val 0u64 into r9;
18      add 0u64 r9 into r10;
19      ternary r8[1u32].is_some r8[1u32].val 1u64 into r11;
20      add r10 r11 into r12;
21      ternary r8[2u32].is_some r8[2u32].val 4u64 into r13;
22      add r12 r13 into r14;
23      ternary r8[3u32].is_some r8[3u32].val 9u64 into r15;
24      add r14 r15 into r16;
25      is.eq r16 14u64 into r17;
26      assert.eq r17 true;
27      cast r16 into r18 as u64;
28      output r16 as u64.private;
29      output r18 as u64.private;
30  
31  constructor:
32      assert.eq edition 0u16;
33  status: success
34  output: (14u64, 14u64)