aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <infra@servo.org>2023-06-08 11:17:12 +0200
committerGitHub <noreply@github.com>2023-06-08 11:17:12 +0200
commit41f7527328b0905550b56a561d693dfd04c20b82 (patch)
tree66a20da805e0bd9f740248e82ca6ce4f347f54e9
parentac09fdf0c72844e6ddd4e7463f8917b0abbdf4a5 (diff)
parentcb76dbabf44ffa4a32b5fcf586fe7db36567cc4b (diff)
downloadservo-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.rs10
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