cuelang.org/go@v0.13.0/cue/testdata/definitions/issue3851.txtar (about)

     1  -- in.cue --
     2  #App: {
     3  	name?: string
     4  	sub1?: sub2?: null | _
     5  }
     6  #Output: null | #App
     7  out: #Output & {
     8  	name: "foo"
     9  	sub1: sub2: {} | _
    10  	sub1: sub2: {
    11  		sub3: {
    12  			let _let = "bar"
    13  			foo: _let
    14  		}
    15  	}
    16  }
    17  -- out/eval/stats --
    18  Leaks:  0
    19  Freed:  48
    20  Reused: 39
    21  Allocs: 9
    22  Retain: 0
    23  
    24  Unifications: 34
    25  Conjuncts:    65
    26  Disjuncts:    48
    27  -- out/evalalpha --
    28  (struct){
    29    #App: (#struct){
    30      name?: (string){ string }
    31      sub1?: (#struct){
    32        sub2?: (_){ |((null){ null }, (_){ _ }) }
    33      }
    34    }
    35    #Output: ((null|struct)){ |((null){ null }, (#struct){
    36        name?: (string){ string }
    37        sub1?: (#struct){
    38          sub2?: (_){ |((null){ null }, (_){ _ }) }
    39        }
    40      }) }
    41    out: (#struct){
    42      name: (string){ "foo" }
    43      sub1: (#struct){
    44        sub2: (#struct){
    45          sub3: (struct){
    46            let _let#1 = (string){ "bar" }
    47            foo: (string){ "bar" }
    48          }
    49        }
    50      }
    51    }
    52  }
    53  -- diff/-out/evalalpha<==>+out/eval --
    54  diff old new
    55  --- old
    56  +++ new
    57  @@ -14,7 +14,7 @@
    58     out: (#struct){
    59       name: (string){ "foo" }
    60       sub1: (#struct){
    61  -      sub2: (struct){
    62  +      sub2: (#struct){
    63           sub3: (struct){
    64             let _let#1 = (string){ "bar" }
    65             foo: (string){ "bar" }
    66  -- out/eval --
    67  (struct){
    68    #App: (#struct){
    69      name?: (string){ string }
    70      sub1?: (#struct){
    71        sub2?: (_){ |((null){ null }, (_){ _ }) }
    72      }
    73    }
    74    #Output: ((null|struct)){ |((null){ null }, (#struct){
    75        name?: (string){ string }
    76        sub1?: (#struct){
    77          sub2?: (_){ |((null){ null }, (_){ _ }) }
    78        }
    79      }) }
    80    out: (#struct){
    81      name: (string){ "foo" }
    82      sub1: (#struct){
    83        sub2: (struct){
    84          sub3: (struct){
    85            let _let#1 = (string){ "bar" }
    86            foo: (string){ "bar" }
    87          }
    88        }
    89      }
    90    }
    91  }
    92  -- out/compile --
    93  --- in.cue
    94  {
    95    #App: {
    96      name?: string
    97      sub1?: {
    98        sub2?: (null|_)
    99      }
   100    }
   101    #Output: (null|〈0;#App〉)
   102    out: (〈0;#Output〉 & {
   103      name: "foo"
   104      sub1: {
   105        sub2: ({}|_)
   106      }
   107      sub1: {
   108        sub2: {
   109          sub3: {
   110            let _let#1 = "bar"
   111            foo: 〈0;let _let#1〉
   112          }
   113        }
   114      }
   115    })
   116  }