diff options
author | Miran <narimiran@users.noreply.github.com> | 2018-10-14 08:50:39 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2018-10-14 08:50:39 +0200 |
commit | 9f8b93641efda5e20a76732e5d11165ac323f1e0 (patch) | |
tree | 42ef980b6aa5647bf29a1fddf16d49aee22f08fb /tests/generics/tgenericshardcases.nim | |
parent | afd5abdfc254f14bfb818f1a8bee892bd77dbf14 (diff) | |
download | Nim-9f8b93641efda5e20a76732e5d11165ac323f1e0.tar.gz |
Merge tests into a larger file (part 3 of ∞: generics) (#9347)
* merge generics issues tests * merge tgeneric * merge test with local imports * merge tcan tests * merge matcher tests * more issue tests merged * one more tcan test * merge various small tests into one file * add a test for #3717
Diffstat (limited to 'tests/generics/tgenericshardcases.nim')
-rw-r--r-- | tests/generics/tgenericshardcases.nim | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/tests/generics/tgenericshardcases.nim b/tests/generics/tgenericshardcases.nim deleted file mode 100644 index 72a2f4ec2..000000000 --- a/tests/generics/tgenericshardcases.nim +++ /dev/null @@ -1,42 +0,0 @@ -discard """ - file: "tgenericshardcases.nim" - output: "2\n5\n126\n3" -""" - -import typetraits - -proc typeNameLen(x: typedesc): int {.compileTime.} = - result = x.name.len - -macro selectType(a, b: typedesc): typedesc = - result = a - -type - Foo[T] = object - data1: array[T.high, int] - data2: array[typeNameLen(T), float] - data3: array[0..T.typeNameLen, selectType(float, int)] - - MyEnum = enum A, B, C, D - -var f1: Foo[MyEnum] -var f2: Foo[int8] - -echo high(f1.data1) # (D = 3) - 1 == 2 -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(C) - assert high(f1.data2) == 5 # length of MyEnum minus one, because we used T.high - - 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 - |