diff --git a/Destructors.rest b/Destructors.rest index f961cfb..0d30652 100644 --- a/Destructors.rest +++ b/Destructors.rest @@ -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())