Loadable now implements SignalGetClone.

This commit is contained in:
Filipe Rodrigues 2024-03-04 20:57:18 +00:00
parent e3c425afff
commit 45f133c4ea
Signed by: zenithsiz
SSH Key Fingerprint: SHA256:Mb5ppb3Sh7IarBO/sBTXLHbYEOz37hJAlslLQPPAPaU

View File

@ -6,7 +6,7 @@ use std::{
ops::{ControlFlow, FromResidual, Try},
};
use dynatos_reactive::SignalGetCopy;
use dynatos_reactive::{SignalGetClone, SignalGetCopy};
/// Loadable value.
#[derive(Clone, Copy, Debug)]
@ -216,6 +216,12 @@ impl<T: Copy, E> SignalGetCopy<Loadable<T, E>> for Loadable<&'_ T, E> {
}
}
impl<T: Clone, E> SignalGetClone<Loadable<T, E>> for Loadable<&'_ T, E> {
fn clone(self) -> Loadable<T, E> {
self.map(|value| value.clone())
}
}
/// Extension trait for iterators of `Loadable<T, E>`
#[extend::ext(name = IteratorLoadableExt)]
pub impl<I, T, E> I