@@ -11,7 +11,7 @@ use base_db::{
1111use hir_def:: {
1212 db:: DefDatabase , hir:: ExprId , layout:: TargetDataLayout , AdtId , BlockId , CallableDefId ,
1313 ConstParamId , DefWithBodyId , EnumVariantId , FunctionId , GeneralConstId , GenericDefId , ImplId ,
14- LifetimeParamId , LocalFieldId , StaticId , TypeAliasId , TypeOrConstParamId , VariantId ,
14+ LifetimeParamId , LocalFieldId , StaticId , TraitId , TypeAliasId , TypeOrConstParamId , VariantId ,
1515} ;
1616use la_arena:: ArenaMap ;
1717use smallvec:: SmallVec ;
@@ -24,6 +24,7 @@ use crate::{
2424 lower:: { GenericDefaults , GenericPredicates } ,
2525 method_resolution:: { InherentImpls , TraitImpls , TyFingerprint } ,
2626 mir:: { BorrowckResult , MirBody , MirLowerError } ,
27+ object_safety:: ObjectSafetyViolation ,
2728 Binders , ClosureId , Const , FnDefId , ImplTraitId , ImplTraits , InferenceResult , Interner ,
2829 PolyFnSig , Substitution , TraitEnvironment , TraitRef , Ty , TyDefId , ValueTyDefId ,
2930} ;
@@ -107,6 +108,9 @@ pub trait HirDatabase: DefDatabase + Upcast<dyn DefDatabase> {
107108 #[ salsa:: invoke( crate :: layout:: target_data_layout_query) ]
108109 fn target_data_layout ( & self , krate : CrateId ) -> Result < Arc < TargetDataLayout > , Arc < str > > ;
109110
111+ #[ salsa:: invoke( crate :: object_safety:: object_safety_of_trait_query) ]
112+ fn object_safety_of_trait ( & self , trait_ : TraitId ) -> Option < ObjectSafetyViolation > ;
113+
110114 #[ salsa:: invoke( crate :: lower:: ty_query) ]
111115 #[ salsa:: cycle( crate :: lower:: ty_recover) ]
112116 fn ty ( & self , def : TyDefId ) -> Binders < Ty > ;
0 commit comments