github.com/solo-io/cue@v0.4.7/cue/testdata/resolve/039_reference_to_root.txtar (about)

     1  # DO NOT EDIT; generated by go run testdata/gen.go
     2  #
     3  #name: reference to root
     4  #evalPartial
     5  -- in.cue --
     6  a: {b: int}
     7  c: a & {
     8  	b: 100
     9  	d: a.b + 3 // do not resolve as c != a.
    10  }
    11  x: {
    12  	b: int
    13  	c: b + 5
    14  }
    15  y: x & {
    16  	b: 100
    17  	// c should resolve to 105
    18  }
    19  v: {
    20  	b: int
    21  	c: v.b + 5 // reference starting from copied node.
    22  }
    23  w:  v & {b: 100}
    24  wp: v & {b: 100}
    25  -- out/def --
    26  x: {
    27  	b: int
    28  	c: b + 5
    29  }
    30  y: x & {
    31  	b: 100
    32  }
    33  a: {
    34  	b: int
    35  }
    36  c: a & {
    37  	b: 100
    38  	d: a.b + 3
    39  }
    40  v: {
    41  	b: int
    42  	c: v.b + 5
    43  }
    44  w: v & {
    45  	b: 100
    46  }
    47  wp: v & {
    48  	b: 100
    49  }
    50  -- out/legacy-debug --
    51  <0>{x: <1>{b: int, c: (<2>.b + 5)}, y: <3>{b: 100, c: 105}, a: <4>{b: int}, c: <5>{b: 100, d: (<6>.a.b + 3)}, v: <7>{b: int, c: (<6>.v.b + 5)}, w: <8>{b: 100, c: (<6>.v.b + 5)}, wp: <9>{b: 100, c: (<6>.v.b + 5)}}
    52  -- out/compile --
    53  --- in.cue
    54  {
    55    a: {
    56      b: int
    57    }
    58    c: (〈0;a〉 & {
    59      b: 100
    60      d: (〈1;a〉.b + 3)
    61    })
    62    x: {
    63      b: int
    64      c: (〈0;b〉 + 5)
    65    }
    66    y: (〈0;x〉 & {
    67      b: 100
    68    })
    69    v: {
    70      b: int
    71      c: (〈1;v〉.b + 5)
    72    }
    73    w: (〈0;v〉 & {
    74      b: 100
    75    })
    76    wp: (〈0;v〉 & {
    77      b: 100
    78    })
    79  }
    80  -- out/eval --
    81  (struct){
    82    a: (struct){
    83      b: (int){ int }
    84    }
    85    c: (struct){
    86      b: (int){ 100 }
    87      d: (_|_){
    88        // [incomplete] c.d: non-concrete value int in operand to +:
    89        //     ./in.cue:4:5
    90        //     ./in.cue:1:5
    91      }
    92    }
    93    x: (struct){
    94      b: (int){ int }
    95      c: (_|_){
    96        // [incomplete] x.c: non-concrete value int in operand to +:
    97        //     ./in.cue:8:5
    98        //     ./in.cue:7:2
    99      }
   100    }
   101    y: (struct){
   102      b: (int){ 100 }
   103      c: (int){ 105 }
   104    }
   105    v: (struct){
   106      b: (int){ int }
   107      c: (_|_){
   108        // [incomplete] v.c: non-concrete value int in operand to +:
   109        //     ./in.cue:16:5
   110        //     ./in.cue:15:2
   111      }
   112    }
   113    w: (struct){
   114      b: (int){ 100 }
   115      c: (_|_){
   116        // [incomplete] w.c: non-concrete value int in operand to +:
   117        //     ./in.cue:16:5
   118        //     ./in.cue:15:2
   119      }
   120    }
   121    wp: (struct){
   122      b: (int){ 100 }
   123      c: (_|_){
   124        // [incomplete] wp.c: non-concrete value int in operand to +:
   125        //     ./in.cue:16:5
   126        //     ./in.cue:15:2
   127      }
   128    }
   129  }