diff --git a/actix-service/CHANGES.md b/actix-service/CHANGES.md
index ca18613d..0c85bd13 100644
--- a/actix-service/CHANGES.md
+++ b/actix-service/CHANGES.md
@@ -4,6 +4,9 @@
### Add missing Clone impls
+### Restore `Transform::map_init_err()` combinator
+
+
## [1.0.0-alpha.2] - 2019-12-02
### Use owned config value for service factory
diff --git a/actix-service/src/and_then.rs b/actix-service/src/and_then.rs
index 6f631b96..14bfcac7 100644
--- a/actix-service/src/and_then.rs
+++ b/actix-service/src/and_then.rs
@@ -126,7 +126,13 @@ where
pub struct AndThenServiceFactory
where
A: ServiceFactory,
- B: ServiceFactory,
+ A::Config: Clone,
+ B: ServiceFactory<
+ Config = A::Config,
+ Request = A::Response,
+ Error = A::Error,
+ InitError = A::InitError,
+ >,
{
a: A,
b: B,
@@ -180,7 +186,13 @@ where
impl Clone for AndThenServiceFactory
where
A: ServiceFactory + Clone,
- B: ServiceFactory + Clone,
+ A::Config: Clone,
+ B: ServiceFactory<
+ Config = A::Config,
+ Request = A::Response,
+ Error = A::Error,
+ InitError = A::InitError,
+ > + Clone,
{
fn clone(&self) -> Self {
Self {
diff --git a/actix-service/src/apply.rs b/actix-service/src/apply.rs
index 5fb984d4..ae498160 100644
--- a/actix-service/src/apply.rs
+++ b/actix-service/src/apply.rs
@@ -80,6 +80,8 @@ where
pub struct ApplyServiceFactory
where
T: ServiceFactory,
+ F: FnMut(In, &mut T::Service) -> R + Clone,
+ R: Future