cuelang.org/go@v0.13.0/cue/testdata/fulleval/020_complex_interaction_of_groundness.txtar (about)

     1  #name: complex interaction of groundness
     2  #evalFull
     3  -- in.cue --
     4  res: [for x in a for y in x {y & {d: "b"}}]
     5  res: [ a.b.c & {d: "b"}]
     6  
     7  a: b: [C=string]: {d: string, s: "a" + d}
     8  a: b: c: d: string
     9  -- out/def --
    10  res: [{
    11  	d: "b"
    12  	s: "ab"
    13  } & (a.b.c & {
    14  	d: "b"
    15  })]
    16  a: {
    17  	b: {
    18  		{[C=string]: {
    19  			d: string, s: "a" + d
    20  		}}
    21  		c: {
    22  			d: string
    23  			s: "a" + d
    24  		}
    25  	}
    26  }
    27  -- out/legacy-debug --
    28  <0>{res: [<1>{d: "b", s: "ab"}], a: <2>{b: <3>{[]: <4>(C: string)-><5>{d: string, s: ("a" + <5>.d)}, c: <6>{d: string, s: ("a" + <7>.d)}}}}
    29  -- out/compile --
    30  --- in.cue
    31  {
    32    res: [
    33      for _, x in 〈1;a〉 for _, y in 〈0;x〉 {
    34        (〈1;y〉 & {
    35          d: "b"
    36        })
    37      },
    38    ]
    39    res: [
    40      (〈1;a〉.b.c & {
    41        d: "b"
    42      }),
    43    ]
    44    a: {
    45      b: {
    46        [string]: {
    47          d: string
    48          s: ("a" + 〈0;d〉)
    49        }
    50      }
    51    }
    52    a: {
    53      b: {
    54        c: {
    55          d: string
    56        }
    57      }
    58    }
    59  }
    60  -- out/eval/stats --
    61  Leaks:  0
    62  Freed:  10
    63  Reused: 3
    64  Allocs: 7
    65  Retain: 5
    66  
    67  Unifications: 10
    68  Conjuncts:    33
    69  Disjuncts:    15
    70  -- out/eval --
    71  (struct){
    72    res: (#list){
    73      0: (struct){
    74        d: (string){ "b" }
    75        s: (string){ "ab" }
    76      }
    77    }
    78    a: (struct){
    79      b: (struct){
    80        c: (struct){
    81          d: (string){ string }
    82          s: (_|_){
    83            // [incomplete] a.b.c.s: non-concrete value string in operand to +:
    84            //     ./in.cue:4:34
    85            //     ./in.cue:4:23
    86            //     ./in.cue:5:13
    87          }
    88        }
    89      }
    90    }
    91  }