fn is_defined_before(
    ctx: &AssistContext,
    body: &FunctionBody,
    src: &hir::InFile<Either<ast::IdentPat, ast::SelfParam>>,
) -> bool {
    src.file_id.original_file(ctx.db()) == ctx.frange.file_id
        && !body.contains_node(&either_syntax(&src.value))
}
/// checks if the relevant local was defined before(outside of) body
checks if the relevant local was defined before(outside of) body
checks if the relevant local was defined before ( outside of ) body
fn is_defined_before(
    ctx: &AssistContext,
    body: &FunctionBody,
    src: &hir::InFile<Either<ast::IdentPat, ast::SelfParam>>,
) -> bool {
    src.file_id.original_file(ctx.db()) == ctx.frange.file_id
        && !body.contains_node(&either_syntax(&src.value))
}
fn is_defined_before ( ctx : & AssistContext , body : & FunctionBody , src : & hir :: InFile < Either < ast :: IdentPat , ast :: SelfParam > > , ) -> bool { src . file_id . original_file ( ctx . db ( ) ) == ctx . frange . file_id && ! body . contains_node ( & either_syntax ( & src . value ) ) }
checks if the relevant local was defined before(outside of) body
checks if the relevant local was defined before ( outside of ) body
ctx
&AssistContext
body
&FunctionBody
src
&hir::InFile<Either<ast::IdentPat, ast::SelfParam>>
ctx
&AssistContext
body
&FunctionBody
src
&hir::InFile<Either<ast::IdentPat, ast::SelfParam>>