From fde9f526f0741e6599de4fad87d09e76959a46ea Mon Sep 17 00:00:00 2001 From: sobolevn Date: Wed, 24 Sep 2025 13:53:41 +0300 Subject: [PATCH] Require `trait Clone` to always be implemented for `Device` --- structural/bridge/device/mod.rs | 3 ++- structural/bridge/main.rs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/structural/bridge/device/mod.rs b/structural/bridge/device/mod.rs index e5efab7..55e51df 100644 --- a/structural/bridge/device/mod.rs +++ b/structural/bridge/device/mod.rs @@ -4,7 +4,8 @@ mod tv; pub use radio::Radio; pub use tv::Tv; -pub trait Device { + +pub trait Device: Clone { fn is_enabled(&self) -> bool; fn enable(&mut self); fn disable(&mut self); diff --git a/structural/bridge/main.rs b/structural/bridge/main.rs index ff6cf61..ba65418 100644 --- a/structural/bridge/main.rs +++ b/structural/bridge/main.rs @@ -9,7 +9,7 @@ fn main() { test_device(Radio::default()); } -fn test_device(device: impl Device + Clone) { +fn test_device(device: impl Device) { println!("Tests with basic remote."); let mut basic_remote = BasicRemote::new(device.clone()); basic_remote.power();