concretely i understand the solution is "lift foo(t) out from being an argument, give it its own binding, pass that", but i don't understand how that differs from how rustc compiles `bad_i_guess`
since i would expect, semantically, that arguments are evaluated in some order that i don't remember, then passed in. but rust believes that the mutable borrow is passed to two places at once, as if `foo` and `bar` could be simultaneously evaluated?
https://twitter.com/iximeow/status/1254196774039740419
You can follow @iximeow.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: