fn vars_defined_in_body_and_outlive(ctx: &AssistContext, body: &FunctionBody) -> Vec<Local> {
    let mut vars_defined_in_body = vars_defined_in_body(&body, ctx);
    vars_defined_in_body.retain(|var| var_outlives_body(ctx, body, var));
    vars_defined_in_body
}
/// list local variables defined inside `body` that should be returned from extracted function
list local variables defined inside `body` that should be returned from extracted function
list local variables defined inside ` body ` that should be returned from extracted function
fn vars_defined_in_body_and_outlive(ctx: &AssistContext, body: &FunctionBody) -> Vec<Local> {
    let mut vars_defined_in_body = vars_defined_in_body(&body, ctx);
    vars_defined_in_body.retain(|var| var_outlives_body(ctx, body, var));
    vars_defined_in_body
}
fn vars_defined_in_body_and_outlive ( ctx : & AssistContext , body : & FunctionBody ) -> Vec < Local > { let mut vars_defined_in_body = vars_defined_in_body ( & body , ctx ) ; vars_defined_in_body . retain ( | var | var_outlives_body ( ctx , body , var ) ) ; vars_defined_in_body }
list local variables defined inside `body` that should be returned from extracted function
list local variables defined inside ` body ` that should be returned from extracted function
ctx
&AssistContext
body
&FunctionBody
ctx
&AssistContext
body
&FunctionBody