summaryrefslogtreecommitdiff
path: root/TODO.md
diff options
context:
space:
mode:
Diffstat (limited to 'TODO.md')
-rw-r--r--TODO.md24
1 files changed, 24 insertions, 0 deletions
diff --git a/TODO.md b/TODO.md
new file mode 100644
index 00000000..864c822b
--- /dev/null
+++ b/TODO.md
@@ -0,0 +1,24 @@
+* update assign_to_place: problem with the value to assign which is hanging in
+ the air.
+ Maybe: push it to a dummy variable?...
+ TODO: x = move x where x contains borrows.
+ I think we should move the operands to specific "temporary" variables.
+
+* Check what happens when symbolic borrows are not expanded (when looking for
+ borrows/abstractions to end).
+
+* Detect loops in end_borrow/end_abstraction
+
+* split `apply_proj_borrows` into two:
+ * `apply_proj_borrows_on_input_values` : ... -> value -> rty -> avalue
+ * `apply_proj_borrows_on_given_back_values` : ... -> value -> avalue -> avalue
+
+* During printing, contexts are often big, with many variables containing "bottom".
+ Some variables also actually never get assigned, especially when they are used
+ for auxiliary assignments which don't exist anymore (because they were merged
+ with other operations - for arithmetic operations, for instance).
+ Maybe we should register which variable has been assigned at least once, and
+ print only those (thus skipping a big part of the environment for some time).
+
+* Some variables have the same name. It might be good to also print their id
+ to disambiguate?