From 93e0a4215c915b98cf433ac6d0bcfbc60f0168ec Mon Sep 17 00:00:00 2001 From: Zeyla Hellyer Date: Tue, 10 Oct 2017 20:08:11 -0700 Subject: Switch to parking_lot::{Mutex, RwLock} Switch to the `parking_lot` crate's implementations of `std::sync::Mutex` and `std::sync::RwLock`, which are more efficient. A writeup on why `parking_lot` is more efficient can be read here: Upgrade path: Modify `mutex.lock().unwrap()` usage to `mutex.lock()` (not needing to unwrap or handle a result), and `rwlock.read().unwrap()`/`rwlock.write().unwrap()` usage to `rwlock.read()` and `rwlock.write()`. For example, modify: ```rust use serenity::CACHE; println!("{}", CACHE.read().unwrap().user.id); ``` to: ```rust use serenity::CACHE; println!("{}", CACHE.read().user.id); ``` --- tests/test_channels.rs | 4 +++- tests/test_formatters.rs | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/test_channels.rs b/tests/test_channels.rs index 7a3f9c3..51e8510 100644 --- a/tests/test_channels.rs +++ b/tests/test_channels.rs @@ -1,10 +1,12 @@ +extern crate parking_lot; extern crate serenity; #[cfg(feature = "utils")] mod utils { + use parking_lot::RwLock; use serenity::model::*; use std::collections::HashMap; - use std::sync::{Arc, RwLock}; + use std::sync::Arc; fn group() -> Group { Group { diff --git a/tests/test_formatters.rs b/tests/test_formatters.rs index b48c648..fbc60ca 100644 --- a/tests/test_formatters.rs +++ b/tests/test_formatters.rs @@ -1,3 +1,4 @@ +extern crate parking_lot; extern crate serenity; use serenity::model::*; @@ -14,8 +15,9 @@ fn test_formatters() { #[cfg(feature = "utils")] #[test] fn test_mention() { + use parking_lot::RwLock; use serenity::utils::Colour; - use std::sync::{Arc, RwLock}; + use std::sync::Arc; let channel = Channel::Guild(Arc::new(RwLock::new(GuildChannel { bitrate: None, -- cgit v1.2.3