github.com/joomcode/cue@v0.4.4-0.20221111115225-539fe3512047/cue/testdata/eval/incomplete.txtar (about)

     1  -- in.cue --
     2  s: string
     3  
     4  e1:  s + s
     5  e2:  >"bar" & s // okay
     6  e3:  >s & "foo" // okay
     7  e3b: >s
     8  
     9  e4: >e1 & s
    10  e5: <e5 & s
    11  
    12  E: {
    13  	a: c - b
    14  	b: c - a
    15  	c: a+b & >=5
    16  }
    17  
    18  a:    int
    19  okay: (>10 & <a) + 3
    20  -- out/eval --
    21  (struct){
    22    s: (string){ string }
    23    e1: (_|_){
    24      // [incomplete] e1: non-concrete value string in operand to +:
    25      //     ./in.cue:3:6
    26      //     ./in.cue:1:4
    27    }
    28    e2: (string){ >"bar" }
    29    e3: (string){ "foo" }
    30    e3b: (string){ string }
    31    e4: (_|_){
    32      // [incomplete] e1: non-concrete value string in operand to +:
    33      //     ./in.cue:3:6
    34      //     ./in.cue:1:4
    35    }
    36    e5: (_|_){
    37      // [cycle] cycle error
    38    }
    39    E: (struct){
    40      a: (_|_){
    41        // [cycle] cycle error:
    42        //     ./in.cue:12:5
    43      }
    44      b: (_|_){
    45        // [cycle] cycle error:
    46        //     ./in.cue:13:5
    47      }
    48      c: (_|_){
    49        // [cycle] cycle error:
    50        //     ./in.cue:12:5
    51        // cycle error:
    52        //     ./in.cue:13:5
    53      }
    54    }
    55    a: (int){ int }
    56    okay: (_|_){
    57      // [incomplete] okay: non-concrete value >10 & int in operand to +:
    58      //     ./in.cue:18:7
    59      //     ./in.cue:18:8
    60    }
    61  }
    62  -- out/compile --
    63  --- in.cue
    64  {
    65    s: string
    66    e1: (〈0;s〉 + 〈0;s〉)
    67    e2: (>"bar" & 〈0;s〉)
    68    e3: (>〈0;s〉 & "foo")
    69    e3b: >〈0;s〉
    70    e4: (>〈0;e1〉 & 〈0;s〉)
    71    e5: (<〈0;e5〉 & 〈0;s〉)
    72    E: {
    73      a: (〈0;c〉 - 〈0;b〉)
    74      b: (〈0;c〉 - 〈0;a〉)
    75      c: ((〈0;a〉 + 〈0;b〉) & >=5)
    76    }
    77    a: int
    78    okay: ((>10 & <〈0;a〉) + 3)
    79  }