diff --git a/examples/errors_axum/src/landing.rs b/examples/errors_axum/src/landing.rs
index 4fe0d0f768..0ed62ed03c 100644
--- a/examples/errors_axum/src/landing.rs
+++ b/examples/errors_axum/src/landing.rs
@@ -48,6 +48,7 @@ pub fn App() -> impl IntoView {
}
diff --git a/examples/timer/src/lib.rs b/examples/timer/src/lib.rs
index c04241940c..48ac44b9e8 100644
--- a/examples/timer/src/lib.rs
+++ b/examples/timer/src/lib.rs
@@ -38,7 +38,7 @@ pub fn TimerDemo() -> impl IntoView {
pub fn use_interval(interval_millis: T, f: F)
where
F: Fn() + Clone + 'static,
- T: Into> + 'static,
+ T: Into> + 'static,
{
let interval_millis = interval_millis.into();
Effect::new(move |prev_handle: Option| {
diff --git a/leptos/tests/generic_component.rs b/leptos/tests/generic_component.rs
new file mode 100644
index 0000000000..966e45ce79
--- /dev/null
+++ b/leptos/tests/generic_component.rs
@@ -0,0 +1,25 @@
+#[test]
+fn generic_component_signal_inference() {
+ use leptos::prelude::*;
+
+ #[component]
+ pub fn SimpleCounter(#[prop(into)] step: Signal) -> impl IntoView
+ where
+ T: Send + Sync + 'static,
+ {
+ _ = step;
+ view! {
+
+
+ }
+ }
+
+ let a = RwSignal::new(1);
+ let (b, _) = signal(1);
+
+ view! {
+
+
+
+ };
+}
diff --git a/reactive_graph/src/wrappers.rs b/reactive_graph/src/wrappers.rs
index 37ac879401..c8fa4c2867 100644
--- a/reactive_graph/src/wrappers.rs
+++ b/reactive_graph/src/wrappers.rs
@@ -606,33 +606,6 @@ pub mod read {
}
}
- impl From for ArcSignal {
- #[track_caller]
- fn from(value: T) -> Self {
- ArcSignal::stored(value)
- }
- }
-
- impl From for Signal
- where
- T: Send + Sync + 'static,
- {
- #[track_caller]
- fn from(value: T) -> Self {
- Self::stored(value)
- }
- }
-
- impl From for Signal
- where
- T: 'static,
- {
- #[track_caller]
- fn from(value: T) -> Self {
- Self::stored_local(value)
- }
- }
-
impl From> for Signal
where
T: Send + Sync + 'static,
@@ -856,36 +829,6 @@ pub mod read {
}
}
- impl From for Signal