fix Option<String> in props

This commit is contained in:
Evan Almloff committed 2024-01-24 16:40:14 -06:00
1 parent 30ef29d195
commit c3555a7ec0
6 files changed
+131 -15

No files matched your search

+3
View File
@@ -39,3 +39,6 @@ pub use read::*;
mod write;
pub use write::*;
mod props;
pub use props::*;
+28
View File
@@ -0,0 +1,28 @@
use crate::Signal;
use dioxus_core::prelude::*;
#[doc(hidden)]
pub struct SignalFromMarker<M>(std::marker::PhantomData<M>);
impl<T, O, M> SuperFrom<T, SignalFromMarker<M>> for Signal<O>
where
O: SuperFrom<T, M>,
{
fn super_from(input: T) -> Self {
Signal::new(O::super_from(input))
}
}
#[test]
#[allow(unused)]
fn into_signal_compiles() {
fn takes_signal_string<M>(_: impl SuperInto<Signal<String>, M>) {}
fn takes_option_signal_string<M>(_: impl SuperInto<Signal<Option<String>>, M>) {}
fn don_t_run() {
takes_signal_string("hello world");
takes_signal_string(Signal::new(String::from("hello world")));
takes_option_signal_string("hello world");
}
}