From 2d3e89a56b91ba2a21f887da7e4eb1ba7e750626 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Wed, 17 Aug 2016 13:46:47 +0800 Subject: Note/MIR - Planning for drop support --- Notes/MIR.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Notes/MIR.md b/Notes/MIR.md index dbeb131c..9e7a780f 100644 --- a/Notes/MIR.md +++ b/Notes/MIR.md @@ -1,6 +1,5 @@ % Mid-level intermediate representation - See https://github.com/rust-lang/rfcs/blob/master/text/1211-mir.md @@ -13,7 +12,7 @@ Graph of "Basic Blocks" - Varaibles are single-assigment, but mutable via &mut or field accesses -Types +Operations and value types ===== LValues (assignable locations) @@ -47,3 +46,14 @@ RValues (usable values) - `CONSTANT` - Subset of RValues that are known at compile-time +Generation Notes +================ + +Drop Scopes +----------- + +- Requirements: + - Standard scoped definitions (e.g. blocks) - Where the runtime scope and the generator's stack frame correspond + - Deferred scope completion (e.g. within match codegen) + - Generated drops for panic cleanup. + -- cgit v1.2.3