arch_pkg_text/srcinfo/misc/
derive_query_mut.rs1use super::ReuseAdvice;
2use crate::srcinfo::{FieldName, Query, QueryMut, QueryRawTextItem};
3
4#[derive(Debug, Default, Clone, Copy)]
6pub struct DeriveQueryMut<Querier: ?Sized>(pub Querier);
7
8impl<'a, Querier: Query<'a> + ?Sized> Query<'a> for DeriveQueryMut<Querier> {
9 fn query_raw_text(&self, field_name: FieldName) -> impl Iterator<Item = QueryRawTextItem<'a>> {
10 self.0.query_raw_text(field_name)
11 }
12}
13
14impl<'a, Querier: Query<'a> + ?Sized> QueryMut<'a> for DeriveQueryMut<Querier> {
15 fn query_raw_text_mut(
16 &mut self,
17 field_name: FieldName,
18 ) -> impl Iterator<Item = QueryRawTextItem<'a>> {
19 self.query_raw_text(field_name)
20 }
21}
22
23impl<'a, Querier: Query<'a> + ReuseAdvice + ?Sized> ReuseAdvice for DeriveQueryMut<Querier> {
24 type ShouldReuse = Querier::ShouldReuse;
25}