diff options
-rw-r--r-- | Notes/MIR.md | 14 |
1 files 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. + |