cgp_type/traits/
has_type.rs

1use cgp_component::{DelegateComponent, IsProviderFor, UseContext, UseDelegate};
2use cgp_macro::cgp_component;
3
4#[cgp_component {
5    name: TypeComponent,
6    provider: ProvideType,
7    derive_delegate: UseDelegate<Tag>,
8}]
9pub trait HasType<Tag> {
10    type Type;
11}
12
13pub type TypeOf<Context, Tag> = <Context as HasType<Tag>>::Type;