fix: remove unwrap

This commit is contained in:
Young-Flash 2023-10-23 23:12:07 +08:00
parent a7f77d89a9
commit 45ee88f9cb

View file

@ -89,11 +89,17 @@ fn add_import(
ctx: &AssistContext<'_>, ctx: &AssistContext<'_>,
edit: &mut ide_db::source_change::SourceChangeBuilder, edit: &mut ide_db::source_change::SourceChangeBuilder,
) { ) {
if let Some(path_segment) = qualifier.segment() {
// for `<i32 as std::ops::Add>` // for `<i32 as std::ops::Add>`
let path_type = let path_type = path_segment.syntax().children().filter_map(ast::PathType::cast).last();
qualifier.segment().unwrap().syntax().children().filter_map(ast::PathType::cast).last();
let import = match path_type { let import = match path_type {
Some(it) => it.path().unwrap(), Some(it) => {
if let Some(path) = it.path() {
path
} else {
return;
}
}
None => qualifier, None => qualifier,
}; };
@ -116,6 +122,7 @@ fn add_import(
ide_db::imports::insert_use::insert_use(&scope, import, &ctx.config.insert_use); ide_db::imports::insert_use::insert_use(&scope, import, &ctx.config.insert_use);
} }
} }
}
fn needs_parens_as_receiver(expr: &ast::Expr) -> bool { fn needs_parens_as_receiver(expr: &ast::Expr) -> bool {
// Make `(expr).dummy()` // Make `(expr).dummy()`