From 9f8b93641efda5e20a76732e5d11165ac323f1e0 Mon Sep 17 00:00:00 2001 From: Miran Date: Sun, 14 Oct 2018 08:50:39 +0200 Subject: Merge tests into a larger file (part 3 of ∞: generics) (#9347) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 --- tests/generics/tgenericshardcases.nim | 42 ----------------------------------- 1 file changed, 42 deletions(-) delete mode 100644 tests/generics/tgenericshardcases.nim (limited to 'tests/generics/tgenericshardcases.nim') 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 - -- cgit 1.4.1-2-gfad0