1use crate::{builder::Builder, traits::*, UnionOffset};
2
3impl<P: Primitive, T: WriteAsOptional<P>> WriteAsOptional<P> for Option<T> {
4 type Prepared = T::Prepared;
5 #[inline]
6 fn prepare(&self, builder: &mut Builder) -> Option<T::Prepared> {
7 self.as_ref()?.prepare(builder)
8 }
9}
10
11impl<T1, T2: WriteAsOptionalUnion<T1>> WriteAsOptionalUnion<T1> for Option<T2> {
12 #[inline]
13 fn prepare(&self, builder: &mut Builder) -> Option<UnionOffset<T1>> {
14 self.as_ref()?.prepare(builder)
15 }
16}