Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide_assists/src/handlers/generate_function.rs')
| -rw-r--r-- | crates/ide_assists/src/handlers/generate_function.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/crates/ide_assists/src/handlers/generate_function.rs b/crates/ide_assists/src/handlers/generate_function.rs index bc8cb2a337..edc4697f2c 100644 --- a/crates/ide_assists/src/handlers/generate_function.rs +++ b/crates/ide_assists/src/handlers/generate_function.rs @@ -1,6 +1,7 @@ use rustc_hash::{FxHashMap, FxHashSet}; use hir::{HasSource, HirDisplay, Module, ModuleDef, Semantics, TypeInfo}; +use ide_db::helpers::FamousDefs; use ide_db::{ base_db::FileId, defs::{Definition, NameRefClass}, @@ -512,13 +513,10 @@ fn fn_arg_type(ctx: &AssistContext, target_module: hir::Module, fn_arg: &ast::Ex } if ty.is_reference() || ty.is_mutable_reference() { - convert_reference_type( - ty.strip_references(), - ctx, - ctx.sema.scope(fn_arg.syntax()).krate(), - ) - .map(|conversion| conversion.convert_type(ctx.db())) - .or_else(|| ty.display_source_code(ctx.db(), target_module.into()).ok()) + let famous_defs = &FamousDefs(&ctx.sema, ctx.sema.scope(fn_arg.syntax()).krate()); + convert_reference_type(ty.strip_references(), ctx.db(), famous_defs) + .map(|conversion| conversion.convert_type(ctx.db())) + .or_else(|| ty.display_source_code(ctx.db(), target_module.into()).ok()) } else { ty.display_source_code(ctx.db(), target_module.into()).ok() } |