diff options
author | bors-servo <infra@servo.org> | 2023-06-08 11:17:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-08 11:17:12 +0200 |
commit | 41f7527328b0905550b56a561d693dfd04c20b82 (patch) | |
tree | 66a20da805e0bd9f740248e82ca6ce4f347f54e9 | |
parent | ac09fdf0c72844e6ddd4e7463f8917b0abbdf4a5 (diff) | |
parent | cb76dbabf44ffa4a32b5fcf586fe7db36567cc4b (diff) | |
download | servo-41f7527328b0905550b56a561d693dfd04c20b82.tar.gz servo-41f7527328b0905550b56a561d693dfd04c20b82.zip |
Auto merge of #29857 - servo:prefs-simplification, r=mrobinson
Remove an unneeded arc reference count bump on each pref access.
None
-rw-r--r-- | components/config/pref_util.rs | 10 |
1 files 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<P, V> Accessor<P, V> { } pub struct Preferences<'m, P> { - user_prefs: Arc<RwLock<P>>, + user_prefs: RwLock<P>, default_prefs: P, accessors: &'m HashMap<String, Accessor<P, PrefValue>>, } @@ -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<String, Accessor<P, PrefValue>>) -> 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<RwLock<P>> { - Arc::clone(&self.user_prefs) + pub fn values(&self) -> &RwLock<P> { + &self.user_prefs } /// Retrieve a preference using its key |