Ah, so `fail!()` is not okay, but `loop { }` is okay.
On Wed, Jan 29, 2014 at 11:26 AM, Pierre Talbot <ptal...@hyc.io> wrote: > It's a diverging function in the sense of the manual: > http://static.rust-lang.org/doc/master/rust.html#diverging-functions > > On 01/29/2014 11:21 AM, Gábor Lehel wrote: > >> On Wed, Jan 29, 2014 at 10:19 AM, Pierre Talbot <ptal...@hyc.io <mailto: >> ptal...@hyc.io>> wrote: >> >> I add: a pure function can call extern code and diverges, so the >> pure requirements are a subset of the CTFE requirements. >> >> >> How do you plan to enforce that a function won't diverge? >> >> Are there any systems which allow calling functions and enforce >> convergence without using dependent types? >> >> (We could probably enforce it by prohibiting both mutual and >> self-recursion as well as loops, but I'm guessing this would be too >> restrictive to be acceptable.) >> >> >> Pierre >> >> _______________________________________________ >> Rust-dev mailing list >> Rust-dev@mozilla.org <mailto:Rust-dev@mozilla.org> >> https://mail.mozilla.org/listinfo/rust-dev >> >> >> >
_______________________________________________ Rust-dev mailing list Rust-dev@mozilla.org https://mail.mozilla.org/listinfo/rust-dev