diff --git a/rust/src/config/mod.rs b/rust/src/config/mod.rs index 65755befaa..763b9fcb1f 100644 --- a/rust/src/config/mod.rs +++ b/rust/src/config/mod.rs @@ -15,7 +15,7 @@ use pyo3::prelude::*; -#[derive(FromPyObject)] +#[derive(FromPyObject, Clone)] pub struct SynapseConfig { pub experimental: ExperimentalConfig, } @@ -28,7 +28,7 @@ pub struct SynapseConfig { // TrustedPrivateChat, // } -#[derive(FromPyObject)] +#[derive(FromPyObject, Clone)] pub struct ExperimentalConfig { pub msc3881_enabled: bool, pub msc3575_enabled: bool, diff --git a/rust/src/handlers/mod.rs b/rust/src/handlers/mod.rs index 3036de7241..a2a0d6af12 100644 --- a/rust/src/handlers/mod.rs +++ b/rust/src/handlers/mod.rs @@ -51,13 +51,13 @@ impl RustHandlers { // Store is shared across all of the handlers so let's use an `Arc` let store = Arc::new(Store { - config, + config: config.clone(), db_pool: Box::new(db_pool), }); Ok(RustHandlers { versions: versions::VersionsHandler { - config, + config: config.clone(), store: Arc::clone(&store), }, })