summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Notes/MIR.md14
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.
+