From cb76dbabf44ffa4a32b5fcf586fe7db36567cc4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Thu, 8 Jun 2023 11:07:19 +0200 Subject: [PATCH] Remove an unneeded arc reference count bump on each pref access. --- components/config/pref_util.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/components/config/pref_util.rs b/components/config/pref_util.rs index 07b623372f8..75b83efae88 100644 --- a/components/config/pref_util.rs +++ b/components/config/pref_util.rs @@ -6,7 +6,7 @@ use serde_json::Value; use std::collections::HashMap; use std::fmt; use std::str::FromStr; -use std::sync::{Arc, RwLock}; +use std::sync::RwLock; #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)] pub enum PrefValue { @@ -184,7 +184,7 @@ impl Accessor { } pub struct Preferences<'m, P> { - user_prefs: Arc>, + user_prefs: RwLock

, default_prefs: P, accessors: &'m HashMap>, } @@ -194,15 +194,15 @@ impl<'m, P: Clone> Preferences<'m, P> { /// can always be restored using `reset` or `reset_all`. pub fn new(default_prefs: P, accessors: &'m HashMap>) -> Self { Self { - user_prefs: Arc::new(RwLock::new(default_prefs.clone())), + user_prefs: RwLock::new(default_prefs.clone()), default_prefs, accessors, } } /// Access to the data structure holding the preference values. - pub fn values(&self) -> Arc> { - Arc::clone(&self.user_prefs) + pub fn values(&self) -> &RwLock

{ + &self.user_prefs } /// Retrieve a preference using its key