Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile-Time Performance Issues & Suggestions #3489

Open
geoffreygarrett opened this issue Jan 15, 2025 · 1 comment
Open

Compile-Time Performance Issues & Suggestions #3489

geoffreygarrett opened this issue Jan 15, 2025 · 1 comment

Comments

@geoffreygarrett
Copy link
Contributor

Following the discussion in #3476—especially this comment by @94bryanr—we’re collecting compile-time performance concerns and workarounds here. If you’ve run into long build times, linker errors, or recursion limits, please share:

  1. Reproducible Cases: Steps or minimal examples.
  2. Workarounds: Crate splitting, using into_any(), alternative linkers, etc.
  3. Suggestions: Ideas for framework or compiler changes that could help.

This thread aims to consolidate solutions and guide further improvements. Thank you for contributing!

@joel-medicala-yral
Copy link

joel-medicala-yral commented Jan 22, 2025

Hey Team,

During our migration to version 0.7, we implemented the following changes, which resulted in extremely long compile times of up to four hours.

The compiler appears to be stuck

To address this, we made the following adjustments and added into_any() as suggested by the community. While these changes allowed the project to compile, we still encountered issues such as queries overflow the depth limit.

error: queries overflow the depth limit!
  |
  = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`hot_or_not_web_leptos_ssr`)
  = note: query depth increased by 130 when computing layout of `{async block@<leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"bg-transparent w-full h-full relative overflow-hidden">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute top-0 left-0 bg-cover bg-center w-full h-full z-[1] blur-lg">>, tachys::html::style::Style<(&str, tachys::view::static_types::Static<"rgb(0, 0, 0)">)>, tachys::html::style::Style<(&str, {closure@ssr/src/page/post_view/video_loader.rs:70:40: 70:47})>), ()>, {closure@leptos::show::__Show<{closure@ssr/src/page/post_view/video_loader.rs:72:24: 72:31}, leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"h-full w-full absolute bg-black opacity-90 z-50 flex flex-col justify-center">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/page/post_view/video_loader.rs:77:30: 77:38}>), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-row justify-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col justify-center w-9/12 sm:w-4/12 relative">>,), ((tachys::html::InertElement, tachys::html::InertElement, tachys::html::InertElement, tachys::html::InertElement, tachys::html::element::HtmlElement<tachys::html::element::elements::Span, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white text-3xl text-center text-bold p-2 whitespace-pre-line">>,), (&str,)>, tachys::html::element::HtmlElement<tachys::html::element::elements::Span, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white text-center p-2 pb-4">>,), (&str,)>, tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex justify-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"w-7/12 sm:w-4/12 z-[60]">>,), (leptos::into_view::View<(tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"font-bold rounded-full bg-primary-600 py-2 md:py-3 w-full text-center text-lg md:text-xl text-white">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/component/connect.rs:22:22: 22:31}>), ({closure@ssr/src/component/connect.rs:30:14: 30:21},)>, leptos::into_view::View<leptos::into_view::View<{closure@leptos::show::__Show<{closure@ssr/src/component/overlay.rs:99:20: 99:27}, ()>::{closure#1}}>>)>,)>,)>),)>,)>,)>>>::{closure#1}}, {closure@leptos::show::__Show<{closure@ssr/src/page/post_view/video_loader.rs:84:24: 84:31}, leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"h-full w-full absolute bg-black opacity-90 z-50 flex flex-col justify-center">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/page/post_view/video_loader.rs:89:30: 89:38}>), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-row justify-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col justify-center w-9/12 sm:w-4/12 relative">>,), ((tachys::html::InertElement, tachys::html::InertElement, tachys::html::InertElement, tachys::html::InertElement, tachys::html::element::HtmlElement<tachys::html::element::elements::Span, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white text-3xl text-center text-bold p-2 whitespace-pre-line">>,), (&str,)>, tachys::html::element::HtmlElement<tachys::html::element::elements::Span, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white text-center p-2 pb-4">>,), (&str,)>, tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex justify-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"w-7/12 sm:w-4/12 z-[60]">>,), (leptos::into_view::View<(tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"font-bold rounded-full bg-primary-600 py-2 md:py-3 w-full text-center text-lg md:text-xl text-white">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/component/connect.rs:22:22: 22:31}>), ({closure@ssr/src/component/connect.rs:30:14: 30:21},)>, leptos::into_view::View<leptos::into_view::View<{closure@leptos::show::__Show<{closure@ssr/src/component/overlay.rs:99:20: 99:27}, ()>::{closure#1}}>>)>,)>,)>),)>,)>,)>>>::{closure#1}}, {closure@leptos::show::__Show<{closure@ssr/src/page/post_view/video_loader.rs:96:24: 96:31}, leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::style::Style<{closure@ssr/src/component/onboarding_flow.rs:8:17: 8:24}>, tachys::html::class::Class<tachys::view::static_types::Static<"h-full w-full bg-black bg-opacity-70 z-10 flex flex-col justify-center relative">>), (({closure@leptos::show::__Show<{closure@ssr/src/component/onboarding_flow.rs:25:24: 25:31}, (leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"top-0 w-full flex justify-center">>,), ((tachys::html::InertElement, tachys::html::InertElement),)>>, tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-row justify-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col justify-center w-9/12 sm:w-4/12 relative gap-y-36">>,), ((tachys::html::InertElement, tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col items-center gap-y-4">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"self-center font-semibold rounded-full bg-primary-600 py-2 md:py-3 w-full max-w-80 text-center text-base md:text-xl text-white">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/component/onboarding_flow.rs:61:42: 61:50}>), (tachys::view::static_types::Static<"\n                                Start Tutorial\n                            ">,)>, tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white text-center font-medium text-base leading-normal font-sans">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/component/onboarding_flow.rs:67:42: 67:50}>), (tachys::view::static_types::Static<"\n                                Skip Tutorial\n                            ">,)>),)>),)>,)>)>::{closure#1}}, {closure@leptos::show::__Show<{closure@ssr/src/component/onboarding_flow.rs:76:24: 76:31}, (leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"top-0 w-full flex justify-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute right-[16.1px] top-[19px]">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white bg-transparent bg-opacity-70">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/component/onboarding_flow.rs:166:30: 166:38}>), ({closure@leptos_icons::__Icon::{closure#0}},)>,)>,)>>, leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-row justify-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col justify-center w-9/12 sm:w-4/12 relative">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"relative flex flex-col justify-center items-center gap-y-9">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col gap-y-2 justify-center items-center">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"self-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::P, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white text-center font-bold w-72 text-2xl leading-normal -mt-3">>,), (&str,)>,)>, tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"self-center px-2">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::P, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white text-center font-medium w-64 text-sm leading-5 font-sans">>,), (&str,)>,)>),)>, tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col gap-y-4 justify-center items-center">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"self-center font-semibold rounded-full bg-primary-600 z-20 py-2 md:py-3 w-40 max-w-30 text-center text-base md:text-xl text-white">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/component/onboarding_flow.rs:200:38: 200:46}>), (tachys::view::static_types::Static<"\n                            Next\n                        ">,)>, tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white text-center font-semibold text-lg sm:text-base z-20 leading-normal font-sans">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/component/onboarding_flow.rs:206:38: 206:46}>), (tachys::view::static_types::Static<"\n                            Previous\n                        ">,)>),)>, {closure@leptos::show::__Show<{closure@ssr/src/component/onboarding_flow.rs:211:32: 211:39}, tachys::html::element::HtmlElement<tachys::html::element::elements::Img, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute h-[30vh] hot-left-arrow -ml-56 sm:-ml-64 mt-48 sm:mt:64">>, tachys::html::attribute::Attr<tachys::html::attribute::key::Src, tachys::view::static_types::Static<"/img/decorator/coin_arrow.svg">>), ()>>::{closure#1}}, {closure@leptos::show::__Show<{closure@ssr/src/component/onboarding_flow.rs:217:32: 217:39}, tachys::html::element::HtmlElement<tachys::html::element::elements::Img, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute h-[33vh] hot-left-arrow -ml-60 sm:-ml-72 mt-48 sm:mt-64">>, tachys::html::attribute::Attr<tachys::html::attribute::key::Src, tachys::view::static_types::Static<"/img/decorator/hot_arrow.svg">>), ()>>::{closure#1}}, {closure@leptos::show::__Show<{closure@ssr/src/component/onboarding_flow.rs:223:32: 223:39}, tachys::html::element::HtmlElement<tachys::html::element::elements::Img, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute h-[33vh] hot-left-arrow ml-60 sm:ml-72 mt-48 sm:mt-64">>, tachys::html::attribute::Attr<tachys::html::attribute::key::Src, tachys::view::static_types::Static<"/img/decorator/not_arrow.svg">>), ()>>::{closure#1}}),)>,)>,)>>)>::{closure#1}}, {closure@leptos::show::__Show<{closure@ssr/src/component/onboarding_flow.rs:85:24: 85:31}, (leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"top-0 w-full flex justify-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute right-[16.1px] top-[19px]">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white bg-transparent bg-opacity-70">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/component/onboarding_flow.rs:166:30: 166:38}>), ({closure@leptos_icons::__Icon::{closure#0}},)>,)>,)>>, leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-row justify-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col justify-center w-9/12 sm:w-4/12 relative">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"relative flex flex-col justify-center items-center gap-y-9">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col gap-y-2 justify-center items-center">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"self-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::P, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white text-center font-bold w-72 text-2xl leading-normal -mt-3">>,), (&str,)>,)>, tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"self-center px-2">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::P, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white text-center font-medium w-64 text-sm leading-5 font-sans">>,), (&str,)>,)>),)>, tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col gap-y-4 justify-center items-center">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"self-center font-semibold rounded-full bg-primary-600 z-20 py-2 md:py-3 w-40 max-w-30 text-center text-base md:text-xl text-white">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/component/onboarding_flow.rs:200:38: 200:46}>), (tachys::view::static_types::Static<"\n                            Next\n                        ">,)>, tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white text-center font-semibold text-lg sm:text-base z-20 leading-normal font-sans">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/component/onboarding_flow.rs:206:38: 206:46}>), (tachys::view::static_types::Static<"\n                            Previous\n                        ">,)>),)>, {closure@leptos::show::__Show<{closure@ssr/src/component/onboarding_flow.rs:211:32: 211:39}, tachys::html::element::HtmlElement<tachys::html::element::elements::Img, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute h-[30vh] hot-left-arrow -ml-56 sm:-ml-64 mt-48 sm:mt:64">>, tachys::html::attribute::Attr<tachys::html::attribute::key::Src, tachys::view::static_types::Static<"/img/decorator/coin_arrow.svg">>), ()>>::{closure#1}}, {closure@leptos::show::__Show<{closure@ssr/src/component/onboarding_flow.rs:217:32: 217:39}, tachys::html::element::HtmlElement<tachys::html::element::elements::Img, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute h-[33vh] hot-left-arrow -ml-60 sm:-ml-72 mt-48 sm:mt-64">>, tachys::html::attribute::Attr<tachys::html::attribute::key::Src, tachys::view::static_types::Static<"/img/decorator/hot_arrow.svg">>), ()>>::{closure#1}}, {closure@leptos::show::__Show<{closure@ssr/src/component/onboarding_flow.rs:223:32: 223:39}, tachys::html::element::HtmlElement<tachys::html::element::elements::Img, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute h-[33vh] hot-left-arrow ml-60 sm:ml-72 mt-48 sm:mt-64">>, tachys::html::attribute::Attr<tachys::html::attribute::key::Src, tachys::view::static_types::Static<"/img/decorator/not_arrow.svg">>), ()>>::{closure#1}}),)>,)>,)>>)>::{closure#1}}, {closure@leptos::show::__Show<{closure@ssr/src/component/onboarding_flow.rs:94:24: 94:31}, (leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"top-0 w-full flex justify-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute right-[16.1px] top-[19px]">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white bg-transparent bg-opacity-70">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/component/onboarding_flow.rs:166:30: 166:38}>), ({closure@leptos_icons::__Icon::{closure#0}},)>,)>,)>>, leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-row justify-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col justify-center w-9/12 sm:w-4/12 relative">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"relative flex flex-col justify-center items-center gap-y-9">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col gap-y-2 justify-center items-center">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"self-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::P, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white text-center font-bold w-72 text-2xl leading-normal -mt-3">>,), (&str,)>,)>, tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"self-center px-2">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::P, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white text-center font-medium w-64 text-sm leading-5 font-sans">>,), (&str,)>,)>),)>, tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col gap-y-4 justify-center items-center">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"self-center font-semibold rounded-full bg-primary-600 z-20 py-2 md:py-3 w-40 max-w-30 text-center text-base md:text-xl text-white">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/component/onboarding_flow.rs:200:38: 200:46}>), (tachys::view::static_types::Static<"\n                            Next\n                        ">,)>, tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white text-center font-semibold text-lg sm:text-base z-20 leading-normal font-sans">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/component/onboarding_flow.rs:206:38: 206:46}>), (tachys::view::static_types::Static<"\n                            Previous\n                        ">,)>),)>, {closure@leptos::show::__Show<{closure@ssr/src/component/onboarding_flow.rs:211:32: 211:39}, tachys::html::element::HtmlElement<tachys::html::element::elements::Img, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute h-[30vh] hot-left-arrow -ml-56 sm:-ml-64 mt-48 sm:mt:64">>, tachys::html::attribute::Attr<tachys::html::attribute::key::Src, tachys::view::static_types::Static<"/img/decorator/coin_arrow.svg">>), ()>>::{closure#1}}, {closure@leptos::show::__Show<{closure@ssr/src/component/onboarding_flow.rs:217:32: 217:39}, tachys::html::element::HtmlElement<tachys::html::element::elements::Img, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute h-[33vh] hot-left-arrow -ml-60 sm:-ml-72 mt-48 sm:mt-64">>, tachys::html::attribute::Attr<tachys::html::attribute::key::Src, tachys::view::static_types::Static<"/img/decorator/hot_arrow.svg">>), ()>>::{closure#1}}, {closure@leptos::show::__Show<{closure@ssr/src/component/onboarding_flow.rs:223:32: 223:39}, tachys::html::element::HtmlElement<tachys::html::element::elements::Img, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute h-[33vh] hot-left-arrow ml-60 sm:ml-72 mt-48 sm:mt-64">>, tachys::html::attribute::Attr<tachys::html::attribute::key::Src, tachys::view::static_types::Static<"/img/decorator/not_arrow.svg">>), ()>>::{closure#1}}),)>,)>,)>>)>::{closure#1}}, {closure@leptos::show::__Show<{closure@ssr/src/component/onboarding_flow.rs:103:24: 103:31}, (leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"top-0 w-full flex justify-center">>,), ((tachys::html::InertElement, tachys::html::InertElement),)>>, tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-row justify-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col justify-center w-9/12 sm:w-4/12 relative">>,), ((tachys::html::InertElement, tachys::html::InertElement, tachys::html::InertElement, tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"font-bold rounded-full bg-primary-600 py-3 md:py-4 w-80 mt-24 self-center text-center text-lg md:text-xl text-white">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/component/onboarding_flow.rs:134:38: 134:46}>), (tachys::view::static_types::Static<"Let's make some money">,)>),)>,)>)>::{closure#1}}),)>>>::{closure#1}}, {closure@ssr/src/page/post_view/video_loader.rs:99:14: 99:21}, tachys::view::any_view::AnyView),)>> as tachys::view::any_view::IntoAny>::into_any::{closure#1}::{closure#0}}`

error: queries overflow the depth limit!
  |
  = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`hot_or_not_web_leptos_ssr`)
  = note: query depth increased by 130 when computing layout of `{async block@<leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::style::Style<tachys::view::static_types::Static<"padding-bottom:6rem">>, tachys::html::class::Class<tachys::view::static_types::Static<"w-dvw min-h-dvh bg-black pt-4 flex flex-col gap-4">>), ((leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Span, (tachys::html::class::Class<tachys::view::static_types::Static<"sticky top-0 bg-transparent text-white p-4 w-full items-center z-50">>, tachys::html::class::Class<(&str, bool)>, tachys::html::class::Class<(&str, bool)>), (tachys::view::any_view::AnyView,)>>, tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col w-full px-6 md:px-8 gap-2 md:gap-8">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-row w-full gap-4  justify-between items-center">>,), ((leptos::into_view::View<(tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col space-y-4  rounded-lg text-white">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex items-center space-x-4">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<{closure@ssr/src/page/token/create/mod.rs:111:24: 111:31}>,), ((tachys::html::InertElement, tachys::html::element::HtmlElement<tachys::html::element::elements::Input, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute inset-0 w-full h-full opacity-0 cursor-pointer">>, tachys::html::attribute::Attr<tachys::html::attribute::key::Type, tachys::view::static_types::Static<"file">>, tachys::html::node_ref::NodeRefAttr<tachys::html::element::elements::Input, tachys::reactive_graph::node_ref::NodeRef<tachys::html::element::elements::Input>>, tachys::html::event::On<tachys::html::event::change, {closure@ssr/src/page/token/create/mod.rs:85:25: 85:45}>, tachys::html::attribute::Attr<tachys::html::attribute::key::Id, tachys::view::static_types::Static<"dropzone-logo">>, tachys::html::attribute::Attr<tachys::html::attribute::key::Accept, tachys::view::static_types::Static<"image/*">>), ()>, tachys::html::InertElement, {closure@leptos::show::__Show<{closure@ssr/src/page/token/create/mod.rs:140:30: 140:37}, (tachys::html::element::HtmlElement<tachys::html::element::elements::Img, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute top-0 object-conver h-full w-full rounded-full">>, tachys::html::attribute::Attr<tachys::html::attribute::key::Src, {closure@ssr/src/page/token/create/mod.rs:145:33: 145:40}>), ()>, tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"absolute bottom-0 right-0 p-1 rounded-full bg-white ">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"w-4 h-4 flex items-center justify-center rounded-full bg-white">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/page/token/create/mod.rs:103:25: 103:33}>), (tachys::html::InertElement,)>,)>)>::{closure#1}}),)>,)>,)>, leptos::into_view::View<(tachys::html::element::HtmlElement<tachys::html::element::elements::Canvas, (tachys::html::class::Class<tachys::view::static_types::Static<"hidden">>, tachys::html::node_ref::NodeRefAttr<tachys::html::element::elements::Canvas, tachys::reactive_graph::node_ref::NodeRef<tachys::html::element::elements::Canvas>>), ()>, {closure@leptos::show::__Show<{closure@ssr/src/component/token_logo_sanitize.rs:71:20: 71:27}, tachys::html::element::HtmlElement<tachys::html::element::elements::Img, (tachys::html::class::Class<tachys::view::static_types::Static<"hidden">>, tachys::html::node_ref::NodeRefAttr<tachys::html::element::elements::Img, tachys::reactive_graph::node_ref::NodeRef<tachys::html::element::elements::Img>>, tachys::html::attribute::Attr<tachys::html::attribute::key::Src, {closure@ssr/src/component/token_logo_sanitize.rs:75:21: 75:28}>), ()>>::{closure#1}})>)>, leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col grow gap-y-1 text-sm md:text-base">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Span, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white font-semibold">>,), (alloc::string::String,)>, leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Input, (tachys::html::class::Class<{closure@ssr/src/page/token/create/mod.rs:199:23: 199:27}>, tachys::html::node_ref::NodeRefAttr<tachys::html::element::elements::Input, tachys::reactive_graph::node_ref::NodeRef<tachys::html::element::elements::Input>>, tachys::html::attribute::Attr<tachys::html::attribute::key::Value, alloc::string::String>, tachys::html::event::On<tachys::html::event::input, {closure@ssr/src/page/token/create/mod.rs:197:26: 197:30}>, tachys::html::attribute::Attr<tachys::html::attribute::key::Placeholder, alloc::string::String>, tachys::html::attribute::Attr<tachys::html::attribute::key::Type, alloc::string::String>), ()>>, tachys::html::element::HtmlElement<tachys::html::element::elements::Span, (tachys::html::class::Class<tachys::view::static_types::Static<"text-red-500 font-semibold">>,), ({closure@leptos::show::__Show<{closure@ssr/src/page/token/create/mod.rs:290:36: 290:43}, tachys::view::static_types::Static<"Invalid ">>::{closure#1}},)>),)>>),)>, leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col grow gap-y-1 text-sm md:text-base">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Span, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white font-semibold">>,), (alloc::string::String,)>, leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Textarea, (tachys::html::class::Class<{closure@ssr/src/page/token/create/mod.rs:180:23: 180:27}>, tachys::html::node_ref::NodeRefAttr<tachys::html::element::elements::Textarea, tachys::reactive_graph::node_ref::NodeRef<tachys::html::element::elements::Textarea>>, tachys::html::event::On<tachys::html::event::input, {closure@ssr/src/page/token/create/mod.rs:178:26: 178:30}>, tachys::html::attribute::Attr<tachys::html::attribute::key::Placeholder, alloc::string::String>), ()>>, tachys::html::element::HtmlElement<tachys::html::element::elements::Span, (tachys::html::class::Class<tachys::view::static_types::Static<"text-red-500 font-semibold">>,), ({closure@leptos::show::__Show<{closure@ssr/src/page/token/create/mod.rs:290:36: 290:43}, tachys::view::static_types::Static<"Invalid ">>::{closure#1}},)>),)>>, leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col grow gap-y-1 text-sm md:text-base">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Span, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white font-semibold">>,), (alloc::string::String,)>, leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Input, (tachys::html::class::Class<{closure@ssr/src/page/token/create/mod.rs:199:23: 199:27}>, tachys::html::node_ref::NodeRefAttr<tachys::html::element::elements::Input, tachys::reactive_graph::node_ref::NodeRef<tachys::html::element::elements::Input>>, tachys::html::attribute::Attr<tachys::html::attribute::key::Value, alloc::string::String>, tachys::html::event::On<tachys::html::event::input, {closure@ssr/src/page/token/create/mod.rs:197:26: 197:30}>, tachys::html::attribute::Attr<tachys::html::attribute::key::Placeholder, alloc::string::String>, tachys::html::attribute::Attr<tachys::html::attribute::key::Type, alloc::string::String>), ()>>, tachys::html::element::HtmlElement<tachys::html::element::elements::Span, (tachys::html::class::Class<tachys::view::static_types::Static<"text-red-500 font-semibold">>,), ({closure@leptos::show::__Show<{closure@ssr/src/page/token/create/mod.rs:290:36: 290:43}, tachys::view::static_types::Static<"Invalid ">>::{closure#1}},)>),)>>, leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"flex flex-col grow gap-y-1 text-sm md:text-base">>,), ((tachys::html::element::HtmlElement<tachys::html::element::elements::Span, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white font-semibold">>,), (alloc::string::String,)>, leptos::into_view::View<tachys::html::element::HtmlElement<tachys::html::element::elements::Input, (tachys::html::class::Class<{closure@ssr/src/page/token/create/mod.rs:199:23: 199:27}>, tachys::html::node_ref::NodeRefAttr<tachys::html::element::elements::Input, tachys::reactive_graph::node_ref::NodeRef<tachys::html::element::elements::Input>>, tachys::html::attribute::Attr<tachys::html::attribute::key::Value, alloc::string::String>, tachys::html::event::On<tachys::html::event::input, {closure@ssr/src/page/token/create/mod.rs:197:26: 197:30}>, tachys::html::attribute::Attr<tachys::html::attribute::key::Placeholder, alloc::string::String>, tachys::html::attribute::Attr<tachys::html::attribute::key::Type, alloc::string::String>), ()>>, tachys::html::element::HtmlElement<tachys::html::element::elements::Span, (tachys::html::class::Class<tachys::view::static_types::Static<"text-red-500 font-semibold">>,), ({closure@leptos::show::__Show<{closure@ssr/src/page/token/create/mod.rs:290:36: 290:43}, tachys::view::static_types::Static<"Invalid ">>::{closure#1}},)>),)>>, tachys::html::element::HtmlElement<tachys::html::element::elements::Div, (tachys::html::class::Class<tachys::view::static_types::Static<"w-full flex justify-center">>,), (tachys::html::element::HtmlElement<tachys::html::element::elements::Button, (tachys::html::class::Class<tachys::view::static_types::Static<"text-white disabled:text-neutral-500 md:text-xl py-4 md:py-4 font-bold w-full md:w-1/2 lg:w-1/3 rounded-full bg-primary-600 disabled:bg-primary-500/30">>, tachys::html::event::On<tachys::html::event::click, {closure@ssr/src/page/token/create/mod.rs:478:34: 478:42}>, tachys::html::attribute::Attr<tachys::html::attribute::key::Disabled, reactive_graph::computed::memo::Memo<bool>>), ({closure@ssr/src/page/token/create/mod.rs:482:26: 482:33},)>,)>, tachys::html::InertElement),)>, leptos::into_view::View<leptos::into_view::View<leptos::into_view::View<{closure@leptos::show::__Show<{closure@ssr/src/component/overlay.rs:99:20: 99:27}, ()>::{closure#1}}>>>),)>> as tachys::view::any_view::IntoAny>::into_any::{closure#1}::{closure#0}}`

The above logs suggested to increase the recursion_depth limit to 256 or so, which didn't really help either...

You can view the changes and timeline in the following branch: rupansh/leptos-0.7.

To reproduce the compilation error

  1. Clone the repository:
    git clone https://github.com/yral-dapp/hot-or-not-web-leptos-ssr.git
  2. Check out the rupansh/leptos-0.7 branch:
    git checkout rupansh/leptos-0.7
  3. (Optional) Revert to the state before the fix to reproduce the compilation issue:
    git checkout be975cb7b132d50d68bb3d56f5d2d447ef866ea1
  4. Run the watch command
    cargo leptos watch

I hope this helps!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants