bevy_reflect/serde/ser/
serializable.rs

1use core::ops::Deref;
2
3/// A type-erased serializable value.
4pub enum Serializable<'a> {
5    Owned(Box<dyn erased_serde::Serialize + 'a>),
6    Borrowed(&'a dyn erased_serde::Serialize),
7}
8
9impl<'a> Deref for Serializable<'a> {
10    type Target = dyn erased_serde::Serialize + 'a;
11
12    fn deref(&self) -> &Self::Target {
13        match self {
14            Serializable::Borrowed(serialize) => serialize,
15            Serializable::Owned(serialize) => serialize,
16        }
17    }
18}