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
26
27
28
29
30
31
pub struct Attribute<T: super::ValueAsString> {
key: String,
value: T,
}
impl<T: super::ValueAsString> Attribute<T> {
pub fn new(key: &str, value: T) -> Self {
return Attribute {
key: String::from(key),
value,
};
}
}
impl<T: crate::ValueAsString> std::convert::Into<(String, String)> for Attribute<T> {
fn into(self) -> (String, String) {
return (self.key.clone(), self.value.as_string());
}
}
pub type Attr<T> = Attribute<T>;