Use generic ItemLoc for impls

This commit is contained in:
Aleksey Kladov 2019-12-20 13:47:44 +01:00
parent d137df0137
commit 1234dda9ee
5 changed files with 10 additions and 28 deletions

View file

@ -134,7 +134,7 @@ impl Ty {
LangItemTarget::ImplBlockId(it) => Some(it),
_ => None,
})
.map(|it| it.lookup(db).container.krate)
.map(|it| it.lookup(db).container.module(db).krate)
.collect();
Some(res)
}

View file

@ -673,7 +673,7 @@ fn impl_block_datum(
let bound_vars = Substs::bound_vars(&generic_params);
let trait_ref = trait_ref.subst(&bound_vars);
let trait_ = trait_ref.trait_;
let impl_type = if impl_id.lookup(db).container.krate == krate {
let impl_type = if impl_id.lookup(db).container.module(db).krate == krate {
chalk_rust_ir::ImplType::Local
} else {
chalk_rust_ir::ImplType::External