From 44c2fa8f82ac496b630c95309b950c564909b5d1 Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Tue, 4 Aug 2026 19:58:55 +0200 Subject: [PATCH] Erase view types at every list/component boundary, not just leaves Release builds were hitting rustc's recursion limit compiling the hydrate target: impl IntoView doesn't erase a component's concrete type within the same crate, so calling a component (or a / children closure) without wrapping the result in .into_any() lets the caller's own type keep growing to include everything nested inside it. AlternativeCard's requirement fields already did this correctly at their own leaves; QuestionView's call into AlternativeCard, and AlternativeCard's own closure, plus ResourceValue/AnswerRow's nested s, didn't - so the depth compounded across all of them. Verified with a real `cargo leptos build --release` (was previously untested - only dev builds had been run against this code). --- src/app.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/app.rs b/src/app.rs index 78edd5e..dcf9c9c 100644 --- a/src/app.rs +++ b/src/app.rs @@ -168,6 +168,7 @@ fn QuestionView( parent_hash=parent_hash.clone() /> } + .into_any() } /> @@ -495,6 +496,7 @@ fn AlternativeCard( /> } + .into_any() } } /> @@ -604,6 +606,7 @@ fn ResourceValue( answer=answer /> } + .into_any() } } /> @@ -655,6 +658,7 @@ fn AnswerRow( {text} } + .into_any() } /> @@ -698,6 +702,7 @@ fn AnswerRow( {t.label.clone()} } + .into_any() } } />