cuelang.org/go@v0.10.1/cue/testdata/compile/let.txtar (about)

     1  -- in.cue --
     2  a: {
     3  	let X = Y
     4  	let Y = c
     5  
     6  	b: X
     7  	c: 5
     8  }
     9  
    10  b: {
    11  	let X = Y
    12  	let Y = X
    13  
    14  	b: X
    15  	c: 5
    16  }
    17  
    18  fieldOffset: {
    19  	a: {
    20  		p1: {
    21  			let X = {value: Y}
    22  			let Y = 2
    23  			x: X
    24  		}
    25  		p2: {
    26  			x: X
    27  			let Y = 2
    28  			let X = {value: Y}
    29  		}
    30  	}
    31  	b: {
    32  		p1: {
    33  			let X = {x: y: Y}
    34  			let Y = 2
    35  			x: X
    36  		}
    37  		p2: {
    38  			x: X
    39  			let Y = 2
    40  			let X = {x: y: Y}
    41  		}
    42  	}
    43  }
    44  
    45  issue767: {
    46  	#Foo: {
    47  		let _#bar = {
    48  			value: ""
    49  		}
    50  		let _#volmnts = {
    51  			x: _#baz.value
    52  		}
    53  		let _#baz = {
    54  			_#bar
    55  		}
    56  		out: _#volmnts
    57  	}
    58  }
    59  -- out/compile --
    60  b.let[]: cyclic references in let clause or alias:
    61      ./in.cue:10:10
    62  --- in.cue
    63  {
    64    a: {
    65      let X#1 = 〈0;let Y#2〉
    66      let Y#2 = 〈0;c〉
    67      b: 〈0;let X#1〉
    68      c: 5
    69    }
    70    b: {
    71      let X#3 = 〈0;let Y#4〉
    72      let Y#4 = 〈0;let X#3〉
    73      b: 〈0;let X#3〉
    74      c: 5
    75    }
    76    fieldOffset: {
    77      a: {
    78        p1: {
    79          let X#5 = {
    80            value: 〈1;let Y#6〉
    81          }
    82          let Y#6 = 2
    83          x: 〈0;let X#5〉
    84        }
    85        p2: {
    86          x: 〈0;let X#8〉
    87          let Y#7 = 2
    88          let X#8 = {
    89            value: 〈1;let Y#7〉
    90          }
    91        }
    92      }
    93      b: {
    94        p1: {
    95          let X#9 = {
    96            x: {
    97              y: 〈2;let Y#A〉
    98            }
    99          }
   100          let Y#A = 2
   101          x: 〈0;let X#9〉
   102        }
   103        p2: {
   104          x: 〈0;let X#C〉
   105          let Y#B = 2
   106          let X#C = {
   107            x: {
   108              y: 〈2;let Y#B〉
   109            }
   110          }
   111        }
   112      }
   113    }
   114    issue767: {
   115      #Foo: {
   116        let _#bar#D = {
   117          value: ""
   118        }
   119        let _#volmnts#E = {
   120          x: 〈1;let _#baz#F〉.value
   121        }
   122        let _#baz#F = {
   123          〈1;let _#bar#D〉
   124        }
   125        out: 〈0;let _#volmnts#E〉
   126      }
   127    }
   128  }
   129  -- out/eval --
   130  b.let[]: cyclic references in let clause or alias:
   131      ./in.cue:10:10