contravariance to Req and Cfg

This commit is contained in:
Ali MJ Al-Nasrawy 2021-10-18 10:08:18 +03:00
parent 983dba5014
commit 5bc947e4d7
7 changed files with 14 additions and 14 deletions

View File

@ -105,7 +105,7 @@ where
Fut: Future<Output = Result<Res, Err>>, Fut: Future<Output = Result<Res, Err>>,
{ {
f: F, f: F,
_t: PhantomData<fn() -> Req>, _t: PhantomData<fn(Req)>,
} }
impl<F, Fut, Req, Res, Err> FnService<F, Fut, Req, Res, Err> impl<F, Fut, Req, Res, Err> FnService<F, Fut, Req, Res, Err>
@ -160,7 +160,7 @@ where
Fut: Future<Output = Result<Res, Err>>, Fut: Future<Output = Result<Res, Err>>,
{ {
f: F, f: F,
_t: PhantomData<fn() -> (Req, Cfg)>, _t: PhantomData<fn(Req, Cfg)>,
} }
impl<F, Fut, Req, Res, Err, Cfg> FnServiceFactory<F, Fut, Req, Res, Err, Cfg> impl<F, Fut, Req, Res, Err, Cfg> FnServiceFactory<F, Fut, Req, Res, Err, Cfg>
@ -237,7 +237,7 @@ where
Srv: Service<Req>, Srv: Service<Req>,
{ {
f: F, f: F,
_t: PhantomData<fn() -> (Fut, Cfg, Req, Srv, Err)>, _t: PhantomData<fn(Cfg, Req) -> (Fut, Srv, Err)>,
} }
impl<F, Fut, Cfg, Srv, Req, Err> FnServiceConfig<F, Fut, Cfg, Srv, Req, Err> impl<F, Fut, Cfg, Srv, Req, Err> FnServiceConfig<F, Fut, Cfg, Srv, Req, Err>
@ -293,7 +293,7 @@ where
Fut: Future<Output = Result<Srv, Err>>, Fut: Future<Output = Result<Srv, Err>>,
{ {
f: F, f: F,
_t: PhantomData<fn() -> (Cfg, Req)>, _t: PhantomData<fn(Cfg, Req)>,
} }
impl<F, Cfg, Srv, Req, Fut, Err> FnServiceNoConfig<F, Cfg, Srv, Req, Fut, Err> impl<F, Cfg, Srv, Req, Fut, Err> FnServiceNoConfig<F, Cfg, Srv, Req, Fut, Err>

View File

@ -15,7 +15,7 @@ use super::{Service, ServiceFactory};
pub struct Map<A, F, Req, Res> { pub struct Map<A, F, Req, Res> {
service: A, service: A,
f: F, f: F,
_t: PhantomData<fn() -> (Req, Res)>, _t: PhantomData<fn(Req, Res)>,
} }
impl<A, F, Req, Res> Map<A, F, Req, Res> { impl<A, F, Req, Res> Map<A, F, Req, Res> {
@ -107,7 +107,7 @@ where
pub struct MapServiceFactory<A, F, Req, Res> { pub struct MapServiceFactory<A, F, Req, Res> {
a: A, a: A,
f: F, f: F,
r: PhantomData<fn() -> (Res, Req)>, r: PhantomData<fn(Res, Req)>,
} }
impl<A, F, Req, Res> MapServiceFactory<A, F, Req, Res> { impl<A, F, Req, Res> MapServiceFactory<A, F, Req, Res> {

View File

@ -28,7 +28,7 @@ where
pub struct MapConfig<SF, Req, F, Cfg> { pub struct MapConfig<SF, Req, F, Cfg> {
factory: SF, factory: SF,
cfg_mapper: F, cfg_mapper: F,
e: PhantomData<fn() -> (Cfg, Req)>, e: PhantomData<fn(Cfg, Req)>,
} }
impl<SF, Req, F, Cfg> MapConfig<SF, Req, F, Cfg> { impl<SF, Req, F, Cfg> MapConfig<SF, Req, F, Cfg> {
@ -82,7 +82,7 @@ where
/// `unit_config()` config combinator /// `unit_config()` config combinator
pub struct UnitConfig<SF, Cfg, Req> { pub struct UnitConfig<SF, Cfg, Req> {
factory: SF, factory: SF,
_phantom: PhantomData<fn() -> (Cfg, Req)>, _phantom: PhantomData<fn(Cfg, Req)>,
} }
impl<SF, Cfg, Req> UnitConfig<SF, Cfg, Req> impl<SF, Cfg, Req> UnitConfig<SF, Cfg, Req>

View File

@ -16,7 +16,7 @@ use super::{Service, ServiceFactory};
pub struct MapErr<S, Req, F, E> { pub struct MapErr<S, Req, F, E> {
service: S, service: S,
f: F, f: F,
_t: PhantomData<fn() -> (E, Req)>, _t: PhantomData<fn(Req) -> E>,
} }
impl<S, Req, F, E> MapErr<S, Req, F, E> { impl<S, Req, F, E> MapErr<S, Req, F, E> {
@ -112,7 +112,7 @@ where
{ {
a: A, a: A,
f: F, f: F,
e: PhantomData<fn() -> (E, Req)>, e: PhantomData<fn(Req) -> E>,
} }
impl<A, Req, F, E> MapErrServiceFactory<A, Req, F, E> impl<A, Req, F, E> MapErrServiceFactory<A, Req, F, E>

View File

@ -13,7 +13,7 @@ use super::ServiceFactory;
pub struct MapInitErr<A, F, Req, Err> { pub struct MapInitErr<A, F, Req, Err> {
a: A, a: A,
f: F, f: F,
e: PhantomData<fn() -> (Req, Err)>, e: PhantomData<fn(Req) -> Err>,
} }
impl<A, F, Req, Err> MapInitErr<A, F, Req, Err> impl<A, F, Req, Err> MapInitErr<A, F, Req, Err>

View File

@ -40,7 +40,7 @@ where
/// Pipeline service - pipeline allows to compose multiple service into one service. /// Pipeline service - pipeline allows to compose multiple service into one service.
pub(crate) struct Pipeline<S, Req> { pub(crate) struct Pipeline<S, Req> {
service: S, service: S,
_phantom: PhantomData<fn() -> Req>, _phantom: PhantomData<fn(Req)>,
} }
impl<S, Req> Pipeline<S, Req> impl<S, Req> Pipeline<S, Req>
@ -162,7 +162,7 @@ impl<S: Service<Req>, Req> Service<Req> for Pipeline<S, Req> {
/// Pipeline factory /// Pipeline factory
pub(crate) struct PipelineFactory<SF, Req> { pub(crate) struct PipelineFactory<SF, Req> {
factory: SF, factory: SF,
_phantom: PhantomData<fn() -> Req>, _phantom: PhantomData<fn(Req)>,
} }
impl<SF, Req> PipelineFactory<SF, Req> impl<SF, Req> PipelineFactory<SF, Req>

View File

@ -14,7 +14,7 @@ use super::Transform;
pub struct TransformMapInitErr<T, S, Req, F, E> { pub struct TransformMapInitErr<T, S, Req, F, E> {
transform: T, transform: T,
mapper: F, mapper: F,
_phantom: PhantomData<fn() -> (S, Req, E)>, _phantom: PhantomData<fn(Req) -> (S, E)>,
} }
impl<T, S, F, E, Req> TransformMapInitErr<T, S, Req, F, E> { impl<T, S, F, E, Req> TransformMapInitErr<T, S, Req, F, E> {