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