Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bevyengine
GitHub Repository: bevyengine/bevy
Path: blob/main/crates/bevy_reflect/src/serde/ser/serializable.rs
6600 views
1
use alloc::boxed::Box;
2
use core::ops::Deref;
3
4
/// A type-erased serializable value.
5
pub enum Serializable<'a> {
6
/// An owned serializable value.
7
Owned(Box<dyn erased_serde::Serialize + 'a>),
8
/// An immutable reference to a serializable value.
9
Borrowed(&'a dyn erased_serde::Serialize),
10
}
11
12
impl<'a> Deref for Serializable<'a> {
13
type Target = dyn erased_serde::Serialize + 'a;
14
15
fn deref(&self) -> &Self::Target {
16
match self {
17
Serializable::Borrowed(serialize) => serialize,
18
Serializable::Owned(serialize) => serialize,
19
}
20
}
21
}
22
23