Fix custom launch builder with unsized context types (#2920)

This commit is contained in:
Evan Almloff authored and GitHub committed 2024-09-07 13:35:44 -05:00
1 parent c11f2ed3cd
commit 6ff7a54706
1 file changed
+27 -1
+27 -1
View File
@@ -123,7 +123,33 @@ impl LaunchBuilder {
/// Provide a custom launch function for your application.
///
/// Useful for third party renderers to tap into the launch builder API without having to reimplement it.
pub fn custom<Cfg, List>(launch_fn: LaunchFn<Cfg, List>) -> LaunchBuilder<Cfg, List> {
///
/// # Example
/// ```rust, no_run
/// use dioxus::prelude::*;
/// use std::any::Any;
///
/// #[derive(Default)]
/// struct Config;
///
/// fn my_custom_launcher(root: fn() -> Element, contexts: Vec<Box<dyn Any>>, cfg: Config) {
/// println!("launching with root: {:?}", root());
/// loop {
/// println!("running...");
/// }
/// }
///
/// fn app() -> Element {
/// rsx! {
/// div { "Hello, world!" }
/// }
/// }
///
/// LaunchBuilder::custom(my_custom_launcher).launch(app);
/// ```
pub fn custom<Config, Context: ?Sized>(
launch_fn: LaunchFn<Config, Context>,
) -> LaunchBuilder<Config, Context> {
LaunchBuilder {
launch_fn,
contexts: vec![],