Hello, I have a viewtype and I am using it in a call-by-value function. I want to temporarily assign it to a variable for use in a template that uses call-by-reference.
Is there a way to assert that the variable has not been consumed? Right now I am doing this, which typechecks and compiles in my case: extern fun {env} some_template( env : &env >> _ ) : void fun f ( x: !VT) : void = let var env = x val _ = some_template<VT>(env) prval () = $effmask_all( x := env ) in end Is this expected behavior? Is it possible to write a proof function that can restore "x"? ( Ultimately, x does not change, and the semantics of call-by-value seem best for this function ). -- You received this message because you are subscribed to the Google Groups "ats-lang-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-users+unsubscr...@googlegroups.com. To post to this group, send email to ats-lang-users@googlegroups.com. Visit this group at https://groups.google.com/group/ats-lang-users. To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/ce57d10d-cb0a-465f-b9f6-954d7d6678cb%40googlegroups.com.