Incorrect. `become` does change drop order - https://play.rust-lang.org/?version=nightly&mode=debug&editi....
That's not implementing tail calls breaks things, that's bad design of implementing tail calls breaking things.
The whole idea of "let's change semantics to make it easier" is dumb.
If you want guaranteed tail calls, change your code until it works.
That's not implementing tail calls breaks things, that's bad design of implementing tail calls breaking things.
The whole idea of "let's change semantics to make it easier" is dumb.
If you want guaranteed tail calls, change your code until it works.