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