cuelang.org/go@v0.10.1/cue/testdata/definitions/issue471.txtar (about)

     1  -- in.cue --
     2  package x
     3  
     4  #a: (#c | #d) & {
     5  	name: string
     6  }
     7  
     8  #a1: #c & {
     9  	name: string
    10  }
    11  
    12  #a2: #d & {
    13  	name: string
    14  }
    15  
    16  #c: {
    17  	name: string
    18  	age:  int
    19  }
    20  
    21  #d: {
    22  	name:    string
    23  	address: string
    24  }
    25  -- out/eval/stats --
    26  Leaks:  0
    27  Freed:  20
    28  Reused: 14
    29  Allocs: 6
    30  Retain: 2
    31  
    32  Unifications: 18
    33  Conjuncts:    31
    34  Disjuncts:    22
    35  -- out/eval --
    36  (struct){
    37    #a: (#struct){ |((#struct){
    38        name: (string){ string }
    39        age: (int){ int }
    40      }, (#struct){
    41        name: (string){ string }
    42        address: (string){ string }
    43      }) }
    44    #a1: (#struct){
    45      name: (string){ string }
    46      age: (int){ int }
    47    }
    48    #a2: (#struct){
    49      name: (string){ string }
    50      address: (string){ string }
    51    }
    52    #c: (#struct){
    53      name: (string){ string }
    54      age: (int){ int }
    55    }
    56    #d: (#struct){
    57      name: (string){ string }
    58      address: (string){ string }
    59    }
    60  }
    61  -- out/compile --
    62  --- in.cue
    63  {
    64    #a: ((〈0;#c〉|〈0;#d〉) & {
    65      name: string
    66    })
    67    #a1: (〈0;#c〉 & {
    68      name: string
    69    })
    70    #a2: (〈0;#d〉 & {
    71      name: string
    72    })
    73    #c: {
    74      name: string
    75      age: int
    76    }
    77    #d: {
    78      name: string
    79      address: string
    80    }
    81  }