cuelang.org/go@v0.13.0/cue/testdata/disjunctions/019_ips.txtar (about) 1 #name: ips 2 #evalFull 3 -- in.cue -- 4 import "list" 5 6 IP: list.Repeat([uint8], 4) 7 8 Private: 9 *[ 192, 168, uint8, uint8] | 10 [ 10, uint8, uint8, uint8] | 11 [ 172, >=16 & <=32, uint8, uint8] 12 13 Inst: Private & [ _, 10, ...] 14 15 MyIP: Inst & [_, _, 10, 10] 16 -- out/def -- 17 IP: [uint8, uint8, uint8, uint8] 18 Private: *[192, 168, uint8, uint8] | [10, uint8, uint8, uint8] | [172, >=16 & <=32, uint8, uint8] 19 Inst: [10, 10, uint8, uint8] 20 MyIP: [10, 10, 10, 10] 21 -- out/legacy-debug -- 22 <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]} 23 -- out/compile -- 24 --- in.cue 25 { 26 IP: 〈import;list〉.Repeat([ 27 &(int, >=0, <=255), 28 ], 4) 29 Private: (*[ 30 192, 31 168, 32 &(int, >=0, <=255), 33 &(int, >=0, <=255), 34 ]|[ 35 10, 36 &(int, >=0, <=255), 37 &(int, >=0, <=255), 38 &(int, >=0, <=255), 39 ]|[ 40 172, 41 (>=16 & <=32), 42 &(int, >=0, <=255), 43 &(int, >=0, <=255), 44 ]) 45 Inst: (〈0;Private〉 & [ 46 _, 47 10, 48 ..., 49 ]) 50 MyIP: (〈0;Inst〉 & [ 51 _, 52 _, 53 10, 54 10, 55 ]) 56 } 57 -- out/eval/stats -- 58 Leaks: 0 59 Freed: 56 60 Reused: 50 61 Allocs: 6 62 Retain: 1 63 64 Unifications: 47 65 Conjuncts: 106 66 Disjuncts: 57 67 -- out/eval -- 68 (struct){ 69 IP: (#list){ 70 0: (int){ &(>=0, <=255, int) } 71 1: (int){ &(>=0, <=255, int) } 72 2: (int){ &(>=0, <=255, int) } 73 3: (int){ &(>=0, <=255, int) } 74 } 75 Private: (list){ |(*(#list){ 76 0: (int){ 192 } 77 1: (int){ 168 } 78 2: (int){ &(>=0, <=255, int) } 79 3: (int){ &(>=0, <=255, int) } 80 }, (#list){ 81 0: (int){ 10 } 82 1: (int){ &(>=0, <=255, int) } 83 2: (int){ &(>=0, <=255, int) } 84 3: (int){ &(>=0, <=255, int) } 85 }, (#list){ 86 0: (int){ 172 } 87 1: (number){ &(>=16, <=32) } 88 2: (int){ &(>=0, <=255, int) } 89 3: (int){ &(>=0, <=255, int) } 90 }) } 91 Inst: (#list){ 92 0: (int){ 10 } 93 1: (int){ 10 } 94 2: (int){ &(>=0, <=255, int) } 95 3: (int){ &(>=0, <=255, int) } 96 } 97 MyIP: (#list){ 98 0: (int){ 10 } 99 1: (int){ 10 } 100 2: (int){ 10 } 101 3: (int){ 10 } 102 } 103 }