diff --git a/crates/compiler/mono/src/fl_reuse.rs b/crates/compiler/mono/src/fl_reuse.rs index afceec4e0b..647fadc204 100644 --- a/crates/compiler/mono/src/fl_reuse.rs +++ b/crates/compiler/mono/src/fl_reuse.rs @@ -329,6 +329,7 @@ fn insert_reset_reuse_operations_stmt<'a, 'i>( // If we generate a reuse token, we no longer want to use the drop statement anymore. So we just return the reset expression. // TODO verify if this works for both dec and decref. + // TODO reset probably decrements it's children. So we probably need to create a resetref that only does the token. return arena.alloc(Stmt::Let( reuse_token.symbol, reset_expr, @@ -465,7 +466,7 @@ struct ReuseToken { // The symbol of the reuse token. symbol: Symbol, - // TODO figure out what this is. + // Index that can be used later to determine if in place mutation is possible. update_mode_id: UpdateModeId, } diff --git a/crates/compiler/mono/src/perceus.rs b/crates/compiler/mono/src/perceus.rs index d6e07d28b3..812ce57000 100644 --- a/crates/compiler/mono/src/perceus.rs +++ b/crates/compiler/mono/src/perceus.rs @@ -62,7 +62,6 @@ struct VariableRcTypesEnv<'a, 'i> { layout_interner: &'i STLayoutInterner<'a>, } -// TODO what would be a good way to structure a similar pattern? creating env, evaluating multiple different objects and returning an element from the env. impl<'a, 'i> VariableRcTypesEnv<'a, 'i> { /** Create a new VariableRcTypesEnv from a layout interner. @@ -352,6 +351,7 @@ impl VariableUsage { // We need to treat them as owned by incrementing the reference count before calling the function, { // TODO probably update the list sort implementation to assume the functions take their argument as owned. + // TODO update llvm code to do the increment. todo!() // TODO sort will perform sort in place (if unique), take this into account. }