add compile test for unsound case
This commit is contained in:
1 parent
91500f0349
commit
f91eeccca7
4 files changed
+59
No files matched your search
@@ -0,0 +1,32 @@
|
||||
use dioxus::prelude::*;
|
||||
|
||||
fn main() {}
|
||||
|
||||
fn app(cx: Scope) -> Element {
|
||||
let count: &RefCell<Vec<Element>> = cx.use_hook(|| RefCell::new(Vec::new()));
|
||||
|
||||
render! {
|
||||
unsafe_child_component {
|
||||
borrowed: count
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Props)]
|
||||
struct Testing<'a> {
|
||||
borrowed: &'a RefCell<Vec<Element<'a>>>,
|
||||
}
|
||||
|
||||
fn unsafe_child_component<'a>(cx: Scope<'a, Testing<'a>>) -> Element<'a> {
|
||||
let Testing { borrowed } = cx.props;
|
||||
let borrowed_temporary_data =
|
||||
cx.use_hook(|| String::from("This data is only valid for the lifetime of the child"));
|
||||
|
||||
borrowed
|
||||
.borrow_mut()
|
||||
.push(render! {"{borrowed_temporary_data}"});
|
||||
|
||||
cx.render(rsx! {
|
||||
div { "Hello, world!" }
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user