Chalk integration

- add proper canonicalization logic
 - add conversions from/to Chalk IR
This commit is contained in:
Florian Diebold 2019-04-20 12:34:36 +02:00
parent 6269791d36
commit b9c0c2abb7
14 changed files with 800 additions and 149 deletions

View file

@ -9,7 +9,7 @@ use crate::{
type_ref::TypeRef,
nameres::{ModuleScope, Namespace, ImportId, CrateModuleId},
expr::{Body, BodySourceMap},
ty::InferenceResult,
ty::{ TraitRef, InferenceResult},
adt::{EnumVariantId, StructFieldId, VariantDef},
generics::HasGenericParams,
docs::{Documentation, Docs, docs_from_ast},
@ -696,6 +696,10 @@ impl Trait {
db.trait_data(self)
}
pub fn trait_ref(self, db: &impl HirDatabase) -> TraitRef {
TraitRef::for_trait(db, self)
}
pub(crate) fn resolver(&self, db: &impl DefDatabase) -> Resolver {
let r = self.module(db).resolver(db);
// add generic params, if present