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

     1  
     2  -- x.cue --
     3  package x
     4  
     5  #C1: {
     6  	name: string
     7  }
     8  
     9  #C2: {
    10  	#C1
    11  	age: int
    12  }
    13  
    14  c1: #C1 & {
    15  	name: "cueckoo"
    16  }
    17  
    18  c2: #C2 & {
    19  	c1
    20  	age: 5
    21  }
    22  -- out/eval/stats --
    23  Leaks:  0
    24  Freed:  11
    25  Reused: 8
    26  Allocs: 3
    27  Retain: 0
    28  
    29  Unifications: 11
    30  Conjuncts:    27
    31  Disjuncts:    11
    32  -- out/evalalpha --
    33  (struct){
    34    #C1: (#struct){
    35      name: (string){ string }
    36    }
    37    #C2: (#struct){
    38      age: (int){ int }
    39      name: (string){ string }
    40    }
    41    c1: (#struct){
    42      name: (string){ "cueckoo" }
    43    }
    44    c2: (#struct){
    45      age: (int){ 5 }
    46      name: (string){ "cueckoo" }
    47    }
    48  }
    49  -- diff/-out/evalalpha<==>+out/eval --
    50  diff old new
    51  --- old
    52  +++ new
    53  @@ -3,14 +3,14 @@
    54       name: (string){ string }
    55     }
    56     #C2: (#struct){
    57  -    name: (string){ string }
    58       age: (int){ int }
    59  +    name: (string){ string }
    60     }
    61     c1: (#struct){
    62       name: (string){ "cueckoo" }
    63     }
    64     c2: (#struct){
    65  -    name: (string){ "cueckoo" }
    66       age: (int){ 5 }
    67  +    name: (string){ "cueckoo" }
    68     }
    69   }
    70  -- diff/explanation --
    71  Reordering
    72  -- out/eval --
    73  (struct){
    74    #C1: (#struct){
    75      name: (string){ string }
    76    }
    77    #C2: (#struct){
    78      name: (string){ string }
    79      age: (int){ int }
    80    }
    81    c1: (#struct){
    82      name: (string){ "cueckoo" }
    83    }
    84    c2: (#struct){
    85      name: (string){ "cueckoo" }
    86      age: (int){ 5 }
    87    }
    88  }
    89  -- out/compile --
    90  --- x.cue
    91  {
    92    #C1: {
    93      name: string
    94    }
    95    #C2: {
    96      〈1;#C1〉
    97      age: int
    98    }
    99    c1: (〈0;#C1〉 & {
   100      name: "cueckoo"
   101    })
   102    c2: (〈0;#C2〉 & {
   103      〈1;c1〉
   104      age: 5
   105    })
   106  }