cairo_lang_semantic/items/
implization.rs1use cairo_lang_defs::ids::{ImplDefId, TraitTypeId};
2use cairo_lang_diagnostics::Maybe;
3
4use crate::TypeId;
5use crate::db::SemanticGroup;
6
7pub fn trait_type_implized_by_context(
9 db: &dyn SemanticGroup,
10 trait_type_id: TraitTypeId,
11 impl_def_id: ImplDefId,
12) -> Maybe<TypeId> {
13 let impl_type_def_id = db.impl_type_by_trait_type(impl_def_id, trait_type_id)?;
14
15 db.impl_type_def_resolved_type(impl_type_def_id)
16}
17
18pub fn trait_type_implized_by_context_cycle(
20 db: &dyn SemanticGroup,
21 _cycle: &salsa::Cycle,
22 trait_type_id: &TraitTypeId,
23 impl_def_id: &ImplDefId,
24) -> Maybe<TypeId> {
25 trait_type_implized_by_context(db, *trait_type_id, *impl_def_id)
27}