fixes #11257
This commit is contained in:
parent
b75ad05267
commit
c7de1a252e
3 changed files with 24 additions and 9 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -62,6 +62,11 @@ proc main =
|
|||
|
||||
w.draw()
|
||||
|
||||
# bug #11257
|
||||
var a: owned proc()
|
||||
if a != nil:
|
||||
a()
|
||||
|
||||
main()
|
||||
|
||||
let (a, d) = allocCounters()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue