diff options
author | Zahary Karadjov <zahary@gmail.com> | 2014-03-10 00:29:15 +0200 |
---|---|---|
committer | Zahary Karadjov <zahary@gmail.com> | 2014-03-10 00:36:19 +0200 |
commit | 9fb07555721d53139f7275c7f8f7143f5c3c8a01 (patch) | |
tree | 7fd7afc403821c60017f734bab752ee7ed8172ca /tests/generics | |
parent | 45a345e93da9d80d5a7f2aaa5903e9f75c0bf2d6 (diff) | |
download | Nim-9fb07555721d53139f7275c7f8f7143f5c3c8a01.tar.gz |
further improvements for static generic params; activate the hardest test cases
Diffstat (limited to 'tests/generics')
-rw-r--r-- | tests/generics/tgenericshardcases.nim | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/tests/generics/tgenericshardcases.nim b/tests/generics/tgenericshardcases.nim index 2ef63bc20..e3b805db6 100644 --- a/tests/generics/tgenericshardcases.nim +++ b/tests/generics/tgenericshardcases.nim @@ -14,7 +14,8 @@ macro selectType(a, b: typedesc): typedesc = type Foo[T] = object data1: array[T.high, int] - data2: array[typeNameLen(T), float] # data3: array[0..T.typeNameLen, selectType(float, int)] + data2: array[typeNameLen(T), float] + data3: array[0..T.typeNameLen, selectType(float, int)] MyEnum = enum A, B, C, D @@ -27,10 +28,15 @@ echo high(f1.data2) # (MyEnum.len = 6) - 1 == 5 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 +static: + assert high(f1.data1) == ord(C) + assert high(f1.data2) == 5 # length of MyEnum minus one, because we used T.high -# assert high(f2.data1) == 127 -# assert high(f2.data2) == 4 # length of int8 + assert high(f2.data1) == 126 + assert high(f2.data2) == 3 + + assert high(f1.data3) == 6 # length of MyEnum + assert high(f2.data3) == 4 # length of int8 + + assert f2.data3[0] is float |