Destructors: more moves for tuples (#9808)

This commit is contained in:
cooldome 2018-11-27 17:59:21 +00:00 • committed by Andreas Rumpf
commit 5b98afb8a8
4 changed files with 13 additions and 4 deletions

View file

@ -108,7 +108,8 @@ proc myfunc(x, y: int): (MySeqNonCopyable, MySeqNonCopyable) =
result = (newMySeq(x, 1.0), newMySeq(y, 5.0))
proc myfunc2(x, y: int): tuple[a: MySeqNonCopyable, b:int, c:MySeqNonCopyable] =
(a: newMySeq(x, 1.0), b:0, c:newMySeq(y, 5.0))
var cc = newMySeq(y, 5.0)
(a: newMySeq(x, 1.0), b:0, c: cc)
let (seq1, seq2) = myfunc(2, 3)
doAssert seq1.len == 2
@ -118,4 +119,7 @@ doAssert seq2[0] == 5.0
var (seq3, i, _) = myfunc2(2, 3)
doAssert seq3.len == 2
doAssert seq3[0] == 1.0
doAssert seq3[0] == 1.0
var seq4, seq5: MySeqNonCopyable
(seq4, i, seq5) = myfunc2(2, 3)