Could the compiler reuse fields in generated continuations for multiple different real variables (i.e. if 2 variables have disjoint lifetimes and the same type then after the first is spilt the second takes its place(? My immediate gut feeling is no because that'd ruin debugging. Could this be done though for temporary expressions that don't appear in source code (e.g.
foo() + bar() + baz() + faz)
with a suspending
+
can use only one field which first stores
foo()
then
foo() + bar()
etc)