Remove ReadOnlySignal (#4552)
* Remove ReadOnlySignal * Add back ReadOnlySignal as deprecated
This commit is contained in:
1 parent
0a04a199a4
commit
525c00ddac
6 files changed
+17
-14
No files matched your search
@@ -509,7 +509,7 @@ fn type_from_inside_option(ty: &Type) -> Option<&Type> {
|
||||
|
||||
// If the segment is a supported optional type, provide the inner type.
|
||||
// Return the inner type if the pattern is `Option<T>` or `ReadSignal<Option<T>>``
|
||||
if seg.ident == "ReadOnlySignal" || seg.ident == "ReadSignal" {
|
||||
if seg.ident == "ReadSignal" || seg.ident == "ReadOnlySignal" {
|
||||
// Get the inner type. E.g. the `u16` in `ReadSignal<u16>` or `Option` in `ReadSignal<Option<bool>>`
|
||||
let inner_type = extract_inner_type_from_segment(seg)?;
|
||||
let Type::Path(inner_path) = inner_type else {
|
||||
|
||||
@@ -169,33 +169,33 @@ fn spreads_memorize_in_place() {
|
||||
|
||||
// Regression test for https://github.com/DioxusLabs/dioxus/issues/2331
|
||||
#[test]
|
||||
fn cloning_read_only_signal_components_work() {
|
||||
fn cloning_read_signal_components_work() {
|
||||
fn app() -> Element {
|
||||
if generation() < 5 {
|
||||
println!("Generating new props");
|
||||
needs_update();
|
||||
}
|
||||
|
||||
let read_only_signal_rsx = rsx! {
|
||||
TakesReadOnlySignalNonClone { sig: NonCloneable(generation() as i32) }
|
||||
TakesReadOnlySignalNum { sig: generation() as i32 }
|
||||
let read_signal_rsx = rsx! {
|
||||
TakesReadSignalNonClone { sig: NonCloneable(generation() as i32) }
|
||||
TakesReadSignalNum { sig: generation() as i32 }
|
||||
};
|
||||
|
||||
rsx! {
|
||||
{read_only_signal_rsx.clone()}
|
||||
{read_only_signal_rsx}
|
||||
{read_signal_rsx.clone()}
|
||||
{read_signal_rsx}
|
||||
}
|
||||
}
|
||||
|
||||
struct NonCloneable<T>(T);
|
||||
|
||||
#[component]
|
||||
fn TakesReadOnlySignalNum(sig: ReadSignal<i32>) -> Element {
|
||||
fn TakesReadSignalNum(sig: ReadSignal<i32>) -> Element {
|
||||
rsx! {}
|
||||
}
|
||||
|
||||
#[component]
|
||||
fn TakesReadOnlySignalNonClone(sig: ReadSignal<NonCloneable<i32>>) -> Element {
|
||||
fn TakesReadSignalNonClone(sig: ReadSignal<NonCloneable<i32>>) -> Element {
|
||||
rsx! {}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user