From 1299dd4651f6d26e6acc8422f577c806d4127516 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 13 Dec 2024 19:30:53 +0800 Subject: [PATCH] adds a test case (#24534) closes #16845 (cherry picked from commit 80af25202593ba456701623abc7d36c241cde7b3) --- tests/ccgbugs/tccgissues.nim | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/tests/ccgbugs/tccgissues.nim b/tests/ccgbugs/tccgissues.nim index 8207ccbba7..7848130f44 100644 --- a/tests/ccgbugs/tccgissues.nim +++ b/tests/ccgbugs/tccgissues.nim @@ -12,3 +12,46 @@ proc varargsToSeq(vals: varargs[int32]): seq[int32] = result.add v echo varargsToSeq(1, 2, 3, 4) + +type # bug #16845 + MyObjectKind = enum + SomeKind + +block: + type + MyObject = ref object + case kind: MyObjectKind: + of SomeKind: + c: string + + var obj = MyObject(kind:SomeKind) + obj.c = "some string" + +block: + type + MyObject = ref object + kind: MyObjectKind + c: string + + var obj = MyObject(kind:SomeKind) + obj.c = "some string" + +block: + type + MyBaseObj[T] = object of RootObj + test: seq[T] + MyObj = object + attr: MyBaseObj[string] + + var myObj: MyObj + +block: + type + MyBaseAttrObj[T] = object of RootObj + test: seq[T] + MyBaseObj[T] = object of RootObj + myBaseObj: MyBaseAttrObj[T] + MyObj = object + attr: MyBaseObj[string] + + var myObj: MyObj