Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/generate_single_field_struct_from.rs')
-rw-r--r--crates/ide-assists/src/handlers/generate_single_field_struct_from.rs7
1 files changed, 1 insertions, 6 deletions
diff --git a/crates/ide-assists/src/handlers/generate_single_field_struct_from.rs b/crates/ide-assists/src/handlers/generate_single_field_struct_from.rs
index 4348dfa212..d5629e2e7e 100644
--- a/crates/ide-assists/src/handlers/generate_single_field_struct_from.rs
+++ b/crates/ide-assists/src/handlers/generate_single_field_struct_from.rs
@@ -1,4 +1,3 @@
-use hir::next_solver::{DbInterner, TypingMode};
use hir::{HasCrate, ModuleDef, Semantics};
use ide_db::use_trivial_constructor::use_trivial_constructor_with_factory;
use ide_db::{
@@ -233,15 +232,11 @@ fn from_impl_exists(
let strukt = sema.to_def(strukt)?;
let krate = strukt.krate(db);
let from_trait = FamousDefs(sema, krate).core_convert_From()?;
- let interner = DbInterner::new_with(db, krate.base());
- use hir::next_solver::infer::DbInternerInferExt;
- let infcx = interner.infer_ctxt().build(TypingMode::non_body_analysis());
- let strukt = strukt.instantiate_infer(&infcx);
let field_ty = strukt.fields(db).get(main_field_i)?.ty(db);
let struct_ty = strukt.ty(db);
tracing::debug!(?strukt, ?field_ty, ?struct_ty);
- struct_ty.impls_trait(infcx, from_trait, &[field_ty]).then_some(())
+ struct_ty.has_any_impl(db, from_trait, &[field_ty]).then_some(())
}
#[cfg(test)]