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

     1  -- in.cue --
     2  package x
     3  
     4  #Prestep: {
     5  	Args: *null | _
     6  }
     7  
     8  #PrestepNewUser: #Prestep & {
     9  	Args: #NewUser
    10  }
    11  
    12  #NewUser: {
    13  	Repos: [...#Repo]
    14  }
    15  
    16  #Repo: {
    17  	Var:     string
    18  	Pattern: *"*" | string
    19  }
    20  
    21  x: [...#Repo]
    22  x: [{
    23  	Var: "REPO1"
    24  }]
    25  
    26  y: #Repo & {
    27  	Var: "REPO1"
    28  }
    29  
    30  z: #PrestepNewUser & {
    31  	Args: {
    32  		Repos: [{
    33  			Var: "REPO1"
    34  		}]
    35  	}
    36  }
    37  -- out/eval/stats --
    38  Leaks:  0
    39  Freed:  45
    40  Reused: 36
    41  Allocs: 9
    42  Retain: 1
    43  
    44  Unifications: 29
    45  Conjuncts:    71
    46  Disjuncts:    46
    47  -- out/eval --
    48  (struct){
    49    #Prestep: (#struct){
    50      Args: (_){ |(*(null){ null }, (_){ _ }) }
    51    }
    52    #PrestepNewUser: (#struct){
    53      Args: (#struct){
    54        Repos: (list){
    55        }
    56      }
    57    }
    58    #NewUser: (#struct){
    59      Repos: (list){
    60      }
    61    }
    62    #Repo: (#struct){
    63      Var: (string){ string }
    64      Pattern: (string){ |(*(string){ "*" }, (string){ string }) }
    65    }
    66    x: (#list){
    67      0: (#struct){
    68        Var: (string){ "REPO1" }
    69        Pattern: (string){ |(*(string){ "*" }, (string){ string }) }
    70      }
    71    }
    72    y: (#struct){
    73      Var: (string){ "REPO1" }
    74      Pattern: (string){ |(*(string){ "*" }, (string){ string }) }
    75    }
    76    z: (#struct){
    77      Args: (#struct){
    78        Repos: (#list){
    79          0: (#struct){
    80            Var: (string){ "REPO1" }
    81            Pattern: (string){ |(*(string){ "*" }, (string){ string }) }
    82          }
    83        }
    84      }
    85    }
    86  }
    87  -- out/compile --
    88  --- in.cue
    89  {
    90    #Prestep: {
    91      Args: (*null|_)
    92    }
    93    #PrestepNewUser: (〈0;#Prestep〉 & {
    94      Args: 〈1;#NewUser〉
    95    })
    96    #NewUser: {
    97      Repos: [
    98        ...〈2;#Repo〉,
    99      ]
   100    }
   101    #Repo: {
   102      Var: string
   103      Pattern: (*"*"|string)
   104    }
   105    x: [
   106      ...〈1;#Repo〉,
   107    ]
   108    x: [
   109      {
   110        Var: "REPO1"
   111      },
   112    ]
   113    y: (〈0;#Repo〉 & {
   114      Var: "REPO1"
   115    })
   116    z: (〈0;#PrestepNewUser〉 & {
   117      Args: {
   118        Repos: [
   119          {
   120            Var: "REPO1"
   121          },
   122        ]
   123      }
   124    })
   125  }