Updated Destructors (rest)

This commit is contained in:
Andreas Rumpf 2018-07-16 08:37:58 +02:00
parent 8578c1a0be
commit e52310b226
1 changed files with 2 additions and 2 deletions

View File

@ -10,7 +10,7 @@ Rule Pattern Transformed into
======== ==================== ===========================================================
1 var x; stmts var x; try stmts finally: `=destroy`(x)
2 x = f() `=sink`(x, f())
3 x = lastReadOf z `=sink`(x, z)
3 x = lastReadOf z `=sink`(x, z); reset(z)
4 x = y `=`(x, y) # a copy
5 f(g()) var tmp; `=sink`(tmp, g()); f(tmp); `=destroy`(tmp)
======== ==================== ===========================================================
@ -135,7 +135,7 @@ Rule Pattern Transformed into
1.1 var x: T; stmts var x: T; try stmts finally: `=destroy`(x)
1.2 var x: sink T; stmts var x: sink T; stmts; ensureEmpty(x)
2 x = f() `=sink`(x, f())
3 x = lastReadOf z `=sink`(x, z)
3 x = lastReadOf z `=sink`(x, z); reset(z)
4.1 y = sinkParam `=sink`(y, sinkParam)
4.2 x = y `=`(x, y) # a copy
5.1 f_sink(g()) f_sink(g())