brood/registry/serde/de/mod.rs
1mod sealed;
2
3use crate::{
4 component,
5 registry::Null,
6};
7use sealed::Sealed;
8
9/// A registry whose components implement [`Deserialize`].
10///
11/// This is a supertrait to the `Deserialize` trait. It is always implemented when all components
12/// implement `Deserialize`.
13///
14/// [`Deserialize`]: serde::Deserialize
15#[cfg_attr(doc_cfg, doc(cfg(feature = "serde")))]
16pub trait Deserialize<'de>: Sealed<'de> {}
17
18impl<'de> Deserialize<'de> for Null {}
19
20impl<'de, Component, Registry> Deserialize<'de> for (Component, Registry)
21where
22 Component: component::Component + serde::Deserialize<'de>,
23 Registry: Deserialize<'de>,
24{
25}