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;