cuelang.org/go@v0.10.1/cue/testdata/fulleval/005_conditional_field.txtar (about)

     1  # DO NOT EDIT; generated by go run testdata/gen.go
     2  #
     3  #name: conditional field
     4  #evalFull
     5  -- in.cue --
     6  
     7  if b {
     8  	a: "foo"
     9  }
    10  b: true
    11  c: {
    12  	a: 3
    13  	if a > 1 {
    14  		a: 3
    15  	}
    16  }
    17  d: {
    18  	a: int
    19  	if a > 1 {
    20  		a: 3
    21  	}
    22  }
    23  -- out/def --
    24  b: true
    25  a: "foo"
    26  c: {
    27  	a: 3
    28  }
    29  d: {
    30  	a: int
    31  	if a > 1 {
    32  		a: 3
    33  	}
    34  }
    35  -- out/legacy-debug --
    36  <0>{b: true, a: "foo", c: <1>{a: 3}, d: <2>{a: int if (<3>.a > 1) yield <4>{a: 3}}}
    37  -- out/compile --
    38  --- in.cue
    39  {
    40    if 〈0;b〉 {
    41      a: "foo"
    42    }
    43    b: true
    44    c: {
    45      a: 3
    46      if (〈0;a〉 > 1) {
    47        a: 3
    48      }
    49    }
    50    d: {
    51      a: int
    52      if (〈0;a〉 > 1) {
    53        a: 3
    54      }
    55    }
    56  }
    57  -- out/eval/stats --
    58  Leaks:  0
    59  Freed:  7
    60  Reused: 4
    61  Allocs: 3
    62  Retain: 1
    63  
    64  Unifications: 7
    65  Conjuncts:    7
    66  Disjuncts:    7
    67  -- out/evalalpha --
    68  (struct){
    69    a: (string){ "foo" }
    70    b: (bool){ true }
    71    c: (struct){
    72      a: (int){ 3 }
    73    }
    74    d: (_|_){
    75      // [incomplete] d: non-concrete value int in operand to >:
    76      //     ./in.cue:14:5
    77      //     ./in.cue:13:5
    78      a: (_|_){
    79        // [incomplete] d: non-concrete value int in operand to >:
    80        //     ./in.cue:14:5
    81        //     ./in.cue:13:5
    82      }
    83    }
    84  }
    85  -- diff/-out/evalalpha<==>+out/eval --
    86  diff old new
    87  --- old
    88  +++ new
    89  @@ -5,7 +5,13 @@
    90       a: (int){ 3 }
    91     }
    92     d: (_|_){
    93  -    // [cycle] cycle error:
    94  +    // [incomplete] d: non-concrete value int in operand to >:
    95       //     ./in.cue:14:5
    96  +    //     ./in.cue:13:5
    97  +    a: (_|_){
    98  +      // [incomplete] d: non-concrete value int in operand to >:
    99  +      //     ./in.cue:14:5
   100  +      //     ./in.cue:13:5
   101  +    }
   102     }
   103   }
   104  -- diff/explanation --
   105  Improved error message.
   106  -- out/eval --
   107  (struct){
   108    a: (string){ "foo" }
   109    b: (bool){ true }
   110    c: (struct){
   111      a: (int){ 3 }
   112    }
   113    d: (_|_){
   114      // [cycle] cycle error:
   115      //     ./in.cue:14:5
   116    }
   117  }