arch_pkg_text/desc/query/memo/
parking_lot_ext.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use super::MemoQuerier;
use crate::desc::{
    field::ParsedField,
    query::{Query, QueryMut},
};
use parking_lot::{FairMutex, Mutex};

macro_rules! impl_query {
    ($mutex:ident) => {
        impl<'a> Query<'a> for $mutex<MemoQuerier<'a>> {
            fn query_raw_text(&self, field: ParsedField) -> Option<&'a str> {
                self.lock().query_raw_text_mut(field)
            }
        }

        impl<'a> QueryMut<'a> for $mutex<MemoQuerier<'a>> {
            fn query_raw_text_mut(&mut self, field: ParsedField) -> Option<&'a str> {
                self.query_raw_text(field)
            }
        }
    };
}

impl_query!(Mutex);
impl_query!(FairMutex);