valued/value/traits.rs
1use crate::Value;
2
3pub trait SerializeAs: Clone {
4 fn serialize_as(&self) -> Value {
5 self.clone().serialize_from()
6 }
7
8 fn serialize_from(self) -> Value;
9}
10
11// /// This trait is used in trait objects. It has more restrictions than
12// /// [SerializeAs].
13// pub trait ValueTrait: Debug + DynEq + DynHash {
14// fn as_value(&self) -> Value;
15// }
16
17// pub trait Resource: ValueTrait + Hash + Eq {}
18
19// impl<T> Resource for T where T: ValueTrait + Hash + Eq {}