diff --git a/crates/cgp-core/src/prelude.rs b/crates/cgp-core/src/prelude.rs index 1af805f9..1476edb3 100644 --- a/crates/cgp-core/src/prelude.rs +++ b/crates/cgp-core/src/prelude.rs @@ -22,4 +22,4 @@ pub use cgp_macro::{ cgp_inherit, cgp_new_provider, cgp_preset, cgp_provider, cgp_type, check_components, delegate_and_check_components, delegate_components, product, re_export_imports, replace_with, }; -pub use cgp_type::{HasType, ProvideType, UseType}; +pub use cgp_type::{HasType, TypeProvider, UseType}; diff --git a/crates/cgp-error/src/traits/has_error_type.rs b/crates/cgp-error/src/traits/has_error_type.rs index 3a3da0ae..4306040d 100644 --- a/crates/cgp-error/src/traits/has_error_type.rs +++ b/crates/cgp-error/src/traits/has_error_type.rs @@ -2,7 +2,7 @@ use core::fmt::Debug; use cgp_component::{DelegateComponent, IsProviderFor, UseContext, WithProvider}; use cgp_macro::cgp_type; -use cgp_type::{ProvideType, UseType}; +use cgp_type::{TypeProvider, UseType}; /** The `HasErrorType` trait provides an abstract error type that can be used by diff --git a/crates/cgp-field/src/impls/use_field.rs b/crates/cgp-field/src/impls/use_field.rs index 6bfd813a..0fd37471 100644 --- a/crates/cgp-field/src/impls/use_field.rs +++ b/crates/cgp-field/src/impls/use_field.rs @@ -1,7 +1,7 @@ use core::marker::PhantomData; use cgp_component::{IsProviderFor, WithProvider}; -use cgp_type::{ProvideType, TypeComponent}; +use cgp_type::{TypeProvider, TypeProviderComponent}; use crate::traits::{FieldGetter, HasField, HasFieldMut, MutFieldGetter}; @@ -59,14 +59,14 @@ pub struct UseField(pub PhantomData); pub type WithField = WithProvider>; -impl ProvideType for UseField +impl TypeProvider for UseField where Context: HasField, { type Type = Field; } -impl IsProviderFor +impl IsProviderFor for UseField where Context: HasField, diff --git a/crates/cgp-macro-lib/src/type_component/derive.rs b/crates/cgp-macro-lib/src/type_component/derive.rs index d7178613..2fbcf3c5 100644 --- a/crates/cgp-macro-lib/src/type_component/derive.rs +++ b/crates/cgp-macro-lib/src/type_component/derive.rs @@ -107,7 +107,7 @@ pub fn derive_type_providers( #provider_trait_name #type_generics for WithProvider< __Provider__ > where - __Provider__: ProvideType< #context_name, #component_name, Type = #type_name >, + __Provider__: TypeProvider< #context_name, #component_name, Type = #type_name >, #type_name: #type_bounds, #predicates { diff --git a/crates/cgp-type/src/impls/use_delegated_type.rs b/crates/cgp-type/src/impls/use_delegated_type.rs index 7123f235..32586fd1 100644 --- a/crates/cgp-type/src/impls/use_delegated_type.rs +++ b/crates/cgp-type/src/impls/use_delegated_type.rs @@ -3,15 +3,15 @@ use core::marker::PhantomData; use cgp_component::{DelegateComponent, IsProviderFor, WithProvider}; use cgp_macro::cgp_provider; -use crate::TypeComponent; -use crate::traits::ProvideType; +use crate::TypeProviderComponent; +use crate::traits::TypeProvider; pub struct UseDelegatedType(pub PhantomData); pub type WithDelegatedType = WithProvider>; -#[cgp_provider(TypeComponent)] -impl ProvideType for UseDelegatedType +#[cgp_provider(TypeProviderComponent)] +impl TypeProvider for UseDelegatedType where Components: DelegateComponent, { diff --git a/crates/cgp-type/src/impls/use_type.rs b/crates/cgp-type/src/impls/use_type.rs index a1bfba4d..2bca92e6 100644 --- a/crates/cgp-type/src/impls/use_type.rs +++ b/crates/cgp-type/src/impls/use_type.rs @@ -3,8 +3,8 @@ use core::marker::PhantomData; use cgp_component::{IsProviderFor, WithProvider}; use cgp_macro::cgp_provider; -use crate::TypeComponent; -use crate::traits::ProvideType; +use crate::TypeProviderComponent; +use crate::traits::TypeProvider; /** The `UseType` pattern is used to implement a CGP abstract type with the @@ -38,7 +38,7 @@ pub struct UseType(pub PhantomData); pub type WithType = WithProvider>; -#[cgp_provider(TypeComponent)] -impl ProvideType for UseType { +#[cgp_provider(TypeProviderComponent)] +impl TypeProvider for UseType { type Type = Type; } diff --git a/crates/cgp-type/src/lib.rs b/crates/cgp-type/src/lib.rs index 50dc8b10..da84285c 100644 --- a/crates/cgp-type/src/lib.rs +++ b/crates/cgp-type/src/lib.rs @@ -4,4 +4,4 @@ mod impls; mod traits; pub use impls::{UseDelegatedType, UseType, WithDelegatedType, WithType}; -pub use traits::{HasType, ProvideType, TypeComponent, TypeOf}; +pub use traits::{HasType, TypeOf, TypeProvider, TypeProviderComponent}; diff --git a/crates/cgp-type/src/traits/has_type.rs b/crates/cgp-type/src/traits/has_type.rs index 80d58a18..da5a4aad 100644 --- a/crates/cgp-type/src/traits/has_type.rs +++ b/crates/cgp-type/src/traits/has_type.rs @@ -2,8 +2,7 @@ use cgp_component::{DelegateComponent, IsProviderFor, UseContext, UseDelegate}; use cgp_macro::cgp_component; #[cgp_component { - name: TypeComponent, - provider: ProvideType, + provider: TypeProvider, derive_delegate: UseDelegate, }] pub trait HasType { diff --git a/crates/cgp-type/src/traits/mod.rs b/crates/cgp-type/src/traits/mod.rs index 7dea6939..3be981b7 100644 --- a/crates/cgp-type/src/traits/mod.rs +++ b/crates/cgp-type/src/traits/mod.rs @@ -1,3 +1,3 @@ mod has_type; -pub use has_type::{HasType, ProvideType, TypeComponent, TypeOf}; +pub use has_type::{HasType, TypeOf, TypeProvider, TypeProviderComponent};