cgp_type/impls/
use_type.rs

1use core::marker::PhantomData;
2
3use cgp_component::{IsProviderFor, WithProvider};
4use cgp_macro::cgp_provider;
5
6use crate::traits::ProvideType;
7use crate::TypeComponent;
8
9pub struct UseType<Type>(pub PhantomData<Type>);
10
11pub type WithType<Type> = WithProvider<UseType<Type>>;
12
13#[cgp_provider(TypeComponent)]
14impl<Context, Tag, Type> ProvideType<Context, Tag> for UseType<Type> {
15    type Type = Type;
16}