diff options
Diffstat (limited to 'TODO.md')
-rw-r--r-- | TODO.md | 24 |
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? |