raw: true
eval: true
noOpt: true
-- in.cue --
{
	job: [Name=_]: {
		name:     Name
		replicas: uint | *1 @protobuf(10)
		command:  string
	}

	job: list: command: "ls"

	job: nginx: {
		command:  "nginx"
		replicas: 2
	}
}
-- out/def --
job: {
	{[Name=string]: {
		name: Name, replicas: >=0 | *1 @protobuf(10), command: string
	}}
	list: {
		name:     "list"
		replicas: >=0 | *1 @protobuf(10)
		command:  "ls"
	}
	nginx: {
		name:     "nginx"
		replicas: 2 @protobuf(10)
		command:  "nginx"
	}
}
-- out/export --
job: {
	list: {
		name:     "list"
		replicas: 1 @protobuf(10)
		command:  "ls"
	}
	nginx: {
		name:     "nginx"
		replicas: 2 @protobuf(10)
		command:  "nginx"
	}
}
-- out/yaml --
job:
  list:
    name: list
    replicas: 1
    command: ls
  nginx:
    name: nginx
    replicas: 2
    command: nginx
-- out/json --
{"job":{"list":{"name":"list","replicas":1,"command":"ls"},"nginx":{"name":"nginx","replicas":2,"command":"nginx"}}}
-- out/compile --
--- in.cue
{
  {
    job: {
      [_]: {
        name: 〈1;-〉
        replicas: (&(int, >=0)|*1)
        command: string
      }
    }
    job: {
      list: {
        command: "ls"
      }
    }
    job: {
      nginx: {
        command: "nginx"
        replicas: 2
      }
    }
  }
}
-- out/eval/stats --
Leaks:  0
Freed:  14
Reused: 8
Allocs: 6
Retain: 0

Unifications: 10
Conjuncts:    22
Disjuncts:    14
-- out/eval --
(struct){
  job: (struct){
    list: (struct){
      command: (string){ "ls" }
      name: (string){ "list" }
      replicas: (int){ |(*(int){ 1 }, (int){ &(>=0, int) }) }
    }
    nginx: (struct){
      command: (string){ "nginx" }
      replicas: (int){ 2 }
      name: (string){ "nginx" }
    }
  }
}
