* fixes #12882
This commit is contained in:
cooldome
2019-12-13 11:24:05 +00:00
committed by GitHub
parent 22b2684608
commit 1e1fd73530
2 changed files with 19 additions and 1 deletions

View File

@@ -99,7 +99,7 @@ proc genTraverseProc(c: TTraversalClosure, accessor: Rope, typ: PType) =
of tyRef:
lineCg(p, cpsStmts, visitorFrmt, [accessor, c.visitorFrmt])
of tySequence:
if tfHasAsgn notin typ.flags:
if optSeqDestructors notin c.p.module.config.globalOptions:
lineCg(p, cpsStmts, visitorFrmt, [accessor, c.visitorFrmt])
elif containsGarbageCollectedRef(typ.lastSon):
# destructor based seqs are themselves not traced but their data is, if

View File

@@ -147,3 +147,21 @@ proc newMySeq*[T](size: int, initial_value: T): MySeq[T] =
let x = makeShared(newMySeq(10, 1.0))
doAssert: x.get().len == 10
#-------------------------------------------------------
#bug #12882
type
ValueObject = object
v: MySeq[int]
name: string
TopObject = object
internal: seq[ValueObject]
var zz = new(TopObject)