parent
22b2684608
commit
1e1fd73530
2 changed files with 19 additions and 1 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue