mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
fixes https://github.com/nim-lang/Nim/issues/12340
(cherry picked from commit a7a8e364ea)
This commit is contained in:
@@ -137,8 +137,9 @@ proc createTypeBoundOps(tracked: PEffects, typ: PType; info: TLineInfo; explicit
|
||||
createTypeBoundOps(tracked.graph, tracked.c, realType.lastSon, info)
|
||||
|
||||
createTypeBoundOps(tracked.graph, tracked.c, typ, info, tracked.c.idgen)
|
||||
if (tfHasAsgn in typ.flags) or
|
||||
optSeqDestructors in tracked.config.globalOptions:
|
||||
if tracked.config.selectedGC == gcRefc or
|
||||
optSeqDestructors in tracked.config.globalOptions or
|
||||
tfHasAsgn in typ.flags:
|
||||
tracked.owner.flags.incl sfInjectDestructors
|
||||
|
||||
proc isLocalSym(a: PEffects, s: PSym): bool =
|
||||
|
||||
@@ -240,3 +240,11 @@ block: # bug #17197
|
||||
result = true
|
||||
|
||||
doAssert needlemanWunsch("ABC", "DEFG", 1, 2, 3)
|
||||
|
||||
block: # bug #12340
|
||||
func consume(x: sink seq[int]) =
|
||||
x[0] += 5
|
||||
|
||||
let x = @[1, 2, 3, 4]
|
||||
consume x
|
||||
doAssert x == @[1, 2, 3, 4]
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
discard """
|
||||
matrix: "--mm:orc; --mm:refc"
|
||||
matrix: "--mm:orc"
|
||||
"""
|
||||
|
||||
# TODO: --mm:refc
|
||||
|
||||
import std/marshal
|
||||
import std/[assertions, objectdollar, streams]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user