From 0711c9beba4bc10fcae2c8365351db3241564aa5 Mon Sep 17 00:00:00 2001 From: bitfl0wer Date: Thu, 27 Apr 2023 22:38:41 +0200 Subject: [PATCH] Indicate that method call can fail --- src/gateway.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gateway.rs b/src/gateway.rs index 7206c4e..9a05fec 100644 --- a/src/gateway.rs +++ b/src/gateway.rs @@ -1,3 +1,5 @@ +use crate::errors::ObserverError; + #[derive(Debug)] pub struct Gateway {} @@ -24,12 +26,13 @@ impl<'a> GatewayEvent<'a> { self.is_observed } - pub fn subscribe(&mut self, observable: &'a dyn Observer) { + pub fn subscribe(&mut self, observable: &'a dyn Observer) -> Option { if self.is_observed { - return; + return Some(ObserverError::AlreadySubscribedError); } self.is_observed = true; - self.observers.push(observable) + self.observers.push(observable); + None } pub fn unsubscribe(&mut self, observable: &'a dyn Observer) {