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}