diff options
Diffstat (limited to 'tests/compile')
-rw-r--r-- | tests/compile/tgenericshardcases.nim | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/tests/compile/tgenericshardcases.nim b/tests/compile/tgenericshardcases.nim index 90981c701..2ef63bc20 100644 --- a/tests/compile/tgenericshardcases.nim +++ b/tests/compile/tgenericshardcases.nim @@ -1,6 +1,6 @@ discard """ file: "tgenericshardcases.nim" - output: "int\nfloat\nint\nstring" + output: "2\n5\n126\n3" """ import typetraits @@ -13,18 +13,24 @@ macro selectType(a, b: typedesc): typedesc = type Foo[T] = object - data1: array[high(T), int] - data2: array[1..typeNameLen(T), selectType(float, string)] + data1: array[T.high, int] + data2: array[typeNameLen(T), float] # data3: array[0..T.typeNameLen, selectType(float, int)] - MyEnum = enum A, B, C,D + MyEnum = enum A, B, C, D var f1: Foo[MyEnum] var f2: Foo[int8] -static: - assert high(f1.data1) == D - assert high(f1.data2) == 6 # length of MyEnum +echo high(f1.data1) # (D = 3) - 1 == 2 +echo high(f1.data2) # (MyEnum.len = 6) - 1 == 5 - assert high(f2.data1) == 127 - assert high(f2.data2) == 4 # length of int8 +echo high(f2.data1) # 127 - 1 == 126 +echo high(f2.data2) # int8.len - 1 == 3 + +#static: +# assert high(f1.data1) == ord(D) +# assert high(f1.data2) == 6 # length of MyEnum + +# assert high(f2.data1) == 127 +# assert high(f2.data2) == 4 # length of int8 |