# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: ips
#evalFull
-- in.cue --
IP: 4 * [ uint8]

Private:
	*[ 192, 168, uint8, uint8] |
	[ 10, uint8, uint8, uint8] |
	[ 172, >=16 & <=32, uint8, uint8]

Inst: Private & [ _, 10, ...]

MyIP: Inst & [_, _, 10, 10]
-- out/def --
IP: [uint8, uint8, uint8, uint8]
Private: *[192, 168, uint8, uint8] | [10, uint8, uint8, uint8] | [172, >=16 & <=32, uint8, uint8]
Inst: [10, 10, uint8, uint8]
MyIP: [10, 10, 10, 10]
-- out/legacy-debug --
<0>{IP: [(int & >=0 & int & <=255),(int & >=0 & int & <=255),(int & >=0 & int & <=255),(int & >=0 & int & <=255)], Private: [192,168,(int & >=0 & int & <=255),(int & >=0 & int & <=255)], Inst: [10,10,(int & >=0 & int & <=255),(int & >=0 & int & <=255)], MyIP: [10,10,10,10]}
-- out/compile --
--- in.cue
{
  IP: (4 * [
    &(int, >=0, <=255),
  ])
  Private: (*[
    192,
    168,
    &(int, >=0, <=255),
    &(int, >=0, <=255),
  ]|[
    10,
    &(int, >=0, <=255),
    &(int, >=0, <=255),
    &(int, >=0, <=255),
  ]|[
    172,
    (>=16 & <=32),
    &(int, >=0, <=255),
    &(int, >=0, <=255),
  ])
  Inst: (〈0;Private〉 & [
    _,
    10,
    ...,
  ])
  MyIP: (〈0;Inst〉 & [
    _,
    _,
    10,
    10,
  ])
}
-- out/eval --
(struct){
  IP: (#list){
    0: (int){ &(>=0, <=255, int) }
    1: (int){ &(>=0, <=255, int) }
    2: (int){ &(>=0, <=255, int) }
    3: (int){ &(>=0, <=255, int) }
  }
  Private: (list){ |(*(#list){
      0: (int){ 192 }
      1: (int){ 168 }
      2: (int){ &(>=0, <=255, int) }
      3: (int){ &(>=0, <=255, int) }
    }, (#list){
      0: (int){ 10 }
      1: (int){ &(>=0, <=255, int) }
      2: (int){ &(>=0, <=255, int) }
      3: (int){ &(>=0, <=255, int) }
    }, (#list){
      0: (int){ 172 }
      1: (number){ &(>=16, <=32) }
      2: (int){ &(>=0, <=255, int) }
      3: (int){ &(>=0, <=255, int) }
    }) }
  Inst: (#list){
    0: (int){ 10 }
    1: (int){ 10 }
    2: (int){ &(>=0, <=255, int) }
    3: (int){ &(>=0, <=255, int) }
  }
  MyIP: (#list){
    0: (int){ 10 }
    1: (int){ 10 }
    2: (int){ 10 }
    3: (int){ 10 }
  }
}
