Skip to main content

refusal

Function refusal 

Source
pub fn refusal(
    func: &Func,
    names: &Interner,
    elsewhere: &Elsewhere,
) -> Option<&'static str>
Expand description

Why no call in this function can be made in tail position, or None when one can.

Control coming back into the caller a second time needs the caller’s frame, so a caller that calls something that comes back twice anywhere makes no tail call at all. Which calls those are is comes_back’s rule, and the inliner asks the same one of a callee.