libgir/config/matchable.rs
1use super::ident::Ident;
2
3pub trait Matchable {
4 type Item;
5
6 fn matched(&self, name: &str) -> Vec<&Self::Item>;
7}
8
9impl<T: AsRef<Ident>> Matchable for [T] {
10 type Item = T;
11
12 fn matched(&self, name: &str) -> Vec<&Self::Item> {
13 self.iter()
14 .filter(|item| item.as_ref().is_match(name))
15 .collect()
16 }
17}