This commit is contained in:
Araq 2019-05-24 00:44:49 +02:00
commit c7de1a252e
3 changed files with 24 additions and 9 deletions

View file

@ -1,12 +1,15 @@
discard """
cmd: "nim c --newruntime $file"
errormsg: "sink parameter `a` is already consumed at tconsume_twice.nim(8, 6)"
line: 10
errormsg: "sink parameter `a` is already consumed at tconsume_twice.nim(11, 10)"
line: 13
"""
type
Foo = ref object
proc consumeTwice(a: owned proc()): owned proc() =
if a == nil:
proc use(a: owned Foo): bool = discard
proc consumeTwice(a: owned Foo): owned Foo =
if use(a):
return
return a
assert consumeTwice(proc() = discard) != nil
assert consumeTwice(Foo()) != nil

View file

@ -62,6 +62,11 @@ proc main =
w.draw()
# bug #11257
var a: owned proc()
if a != nil:
a()
main()
let (a, d) = allocCounters()