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

     1  -- in.cue --
     2  i: int
     3  s: string
     4  
     5  t0: {
     6  	v: i & s
     7  }
     8  
     9  t1: {
    10  	#d1: {
    11  		a: b: 3
    12  	}
    13  
    14  	#d2: {
    15  		a: b: 4
    16  	}
    17  
    18  	x: #d1 & #d2
    19  }
    20  -- out/eval --
    21  Errors:
    22  t0.v: conflicting values int and string (mismatched types int and string):
    23      ./in.cue:1:4
    24      ./in.cue:2:4
    25      ./in.cue:5:9
    26  t1.x.a.b: conflicting values 4 and 3:
    27      ./in.cue:10:9
    28      ./in.cue:14:9
    29      ./in.cue:17:5
    30      ./in.cue:17:11
    31  
    32  Result:
    33  (_|_){
    34    // [eval]
    35    i: (int){ int }
    36    s: (string){ string }
    37    t0: (_|_){
    38      // [eval]
    39      v: (_|_){
    40        // [eval] t0.v: conflicting values int and string (mismatched types int and string):
    41        //     ./in.cue:1:4
    42        //     ./in.cue:2:4
    43        //     ./in.cue:5:9
    44      }
    45    }
    46    t1: (_|_){
    47      // [eval]
    48      #d1: (#struct){
    49        a: (#struct){
    50          b: (int){ 3 }
    51        }
    52      }
    53      #d2: (#struct){
    54        a: (#struct){
    55          b: (int){ 4 }
    56        }
    57      }
    58      x: (_|_){
    59        // [eval]
    60        a: (_|_){
    61          // [eval]
    62          b: (_|_){
    63            // [eval] t1.x.a.b: conflicting values 4 and 3:
    64            //     ./in.cue:10:9
    65            //     ./in.cue:14:9
    66            //     ./in.cue:17:5
    67            //     ./in.cue:17:11
    68          }
    69        }
    70      }
    71    }
    72  }
    73  -- out/compile --
    74  --- in.cue
    75  {
    76    i: int
    77    s: string
    78    t0: {
    79      v: (〈1;i〉 & 〈1;s〉)
    80    }
    81    t1: {
    82      #d1: {
    83        a: {
    84          b: 3
    85        }
    86      }
    87      #d2: {
    88        a: {
    89          b: 4
    90        }
    91      }
    92      x: (〈0;#d1〉 & 〈0;#d2〉)
    93    }
    94  }