On 11-08-01 10:18 AM, Marijn Haverbeke wrote:
> Ah, I see what you mean now. But this kind of rewriting requires
> knowledge of the tail-called function (which may be in another module,
> or passed in by value), and a bunch of extra complexity. It doesn't
> really have the elegance of classical tail calls.

I think we had decide to only allow tail calls inside a crate. In part because
of limitations on which calls llvm guarantees are tail.

But I would vote for dropping tail calls. Even if we do them inside crates only,
there is still a mismatch with rust where "tail" is a property of the call only
and llvm where the callee must know it is can be tailcalled.

Cheers,
Rafael
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to