2 ms·
Something could call into FFI. Or whatever. The Rust compiler tries not to talk of function kinds past the function boundary as a design principle^. So while t
by Manishearth 11y ago
Something could call into FFI. Or whatever.
The Rust compiler tries not to talk of function kinds past the function boundary as a design principle^. So while the compiler can do a transitive search down all function calls and ensure there's no trickery, Rust doesn't want to do things like that. Inference should not extend past a function.
Introducing a `pure` or `const` keyword to be applied on fns would work, that way the pureness of a function can be determined without recursing into its contents. We've had some proposals for the latter, but no full implementations or rfcs yet IIRC. It might happen.
^I think it's a design principle, at least.