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

     1  -- in.cue --
     2  cycles: {
     3  	a: {
     4  		let A = {c: B}
     5  		let B = A
     6  		out: A
     7  	}
     8  
     9  	b: {
    10  		let A = {c: B}
    11  		let B = {A.c}
    12  		out: A
    13  	}
    14  
    15  	issue1042: {
    16  		#FullAdder: {
    17  			// IN
    18  			a: bool
    19  			b: bool
    20  			c: bool
    21  			// OUT
    22  			sum:   bool
    23  			carry: bool
    24  		}
    25  
    26  		#Add16: {
    27  			a:   [bool] * 16
    28  			b:   [bool] * 16
    29  			out: [bool] * 16
    30  
    31  			let fulladders = [
    32  				for i in list.Range(0, 4, 1) {
    33  					#FullAdder & {"a": a[i], "b": b[i], c: carries[i]}
    34  				},
    35  			]
    36  			let carries = [
    37  				false,
    38  				for i in list.Range(0, 4, 1) {fulladders[i].carry},
    39  			]
    40  			out: [
    41  				for i in list.Range(0, 4, 1) {fulladders[i].sum},
    42  			]
    43  		}
    44  	}
    45  }
    46  -- out/compile --
    47  cycles.a.let[].c.c: cyclic references in let clause or alias:
    48      ./in.cue:3:15
    49  cycles.b.let[].c.c: cyclic references in let clause or alias:
    50      ./in.cue:9:15
    51  cycles.issue1042.#Add16.let[]: reference "list" not found:
    52      ./in.cue:31:14
    53  cycles.issue1042.#Add16.let[].for[].c.for[]: reference "list" not found:
    54      ./in.cue:31:14
    55  cycles.issue1042.#Add16.let[].for[].c.for[].for[].c: cyclic references in let clause or alias:
    56      ./in.cue:32:45
    57  cycles.issue1042.#Add16.let[]: reference "list" not found:
    58      ./in.cue:37:14
    59  cycles.issue1042.#Add16.let[].for[].c: reference "list" not found:
    60      ./in.cue:37:14
    61  cycles.issue1042.#Add16.out: reference "list" not found:
    62      ./in.cue:40:14
    63  --- in.cue
    64  {
    65    cycles: {
    66      a: {
    67        out: 〈0;let A〉
    68      }
    69      b: {
    70        out: 〈0;let A〉
    71      }
    72      issue1042: {
    73        #FullAdder: {
    74          a: bool
    75          b: bool
    76          c: bool
    77          sum: bool
    78          carry: bool
    79        }
    80        #Add16: {
    81          a: ([
    82            bool,
    83          ] * 16)
    84          b: ([
    85            bool,
    86          ] * 16)
    87          out: ([
    88            bool,
    89          ] * 16)
    90          out: [
    91            for _, i in _|_(reference "list" not found).Range(0, 4, 1) {
    92              〈3;let fulladders〉[〈1;i〉].sum
    93            },
    94          ]
    95        }
    96      }
    97    }
    98  }
    99  -- out/eval --
   100  cycles.a.let[].c.c: cyclic references in let clause or alias:
   101      ./in.cue:3:15
   102  cycles.b.let[].c.c: cyclic references in let clause or alias:
   103      ./in.cue:9:15
   104  cycles.issue1042.#Add16.let[]: reference "list" not found:
   105      ./in.cue:31:14
   106  cycles.issue1042.#Add16.let[].for[].c.for[]: reference "list" not found:
   107      ./in.cue:31:14
   108  cycles.issue1042.#Add16.let[].for[].c.for[].for[].c: cyclic references in let clause or alias:
   109      ./in.cue:32:45
   110  cycles.issue1042.#Add16.let[]: reference "list" not found:
   111      ./in.cue:37:14
   112  cycles.issue1042.#Add16.let[].for[].c: reference "list" not found:
   113      ./in.cue:37:14
   114  cycles.issue1042.#Add16.out: reference "list" not found:
   115      ./in.cue:40:14