DioxusLabs/dioxus · error
static child checked
Error message
static child checked
What it means
The merged static/dynamic child iterator compares peeked heads and `expect`s the static child to still be present when taking it. This panic fires only if the iterator's internal bookkeeping is wrong (taking an already-consumed head) — an internal bug, not user error.
Source
Thrown at packages/core/src/diff/template.rs:279
let next_dynamic = dynamic_children.next();
Self {
static_children,
dynamic_children,
next_static,
next_dynamic,
}
}
fn next(&mut self) -> Option<VNodeChild<'a>> {
let take_static = match (self.next_static, self.next_dynamic) {
(Some(static_child), Some(dynamic_child)) => static_child.key() <= dynamic_child.key(),
(Some(_), None) => true,
(None, Some(_)) => false,
(None, None) => return None,
};
if take_static {
let child = self.next_static.take().expect("static child checked");
self.next_static = self.static_children.next();
Some(child.child)
} else {
let child = self.next_dynamic.take().expect("dynamic child checked");
self.next_dynamic = self.dynamic_children.next();
Some(child.child)
}
}
}
#[derive(Clone, Copy)]
struct PositionedChild<'a> {
position: usize,
order: usize,
child: VNodeChild<'a>,
}
impl<'a> PositionedChild<'a> {View on GitHub (pinned to 24f6a829df)
Solutions
- This is an internal invariant about static children. Report it with a minimal reproduction to the Dioxus issue tracker.
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at packages/core/src/diff/template.rs:279 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of DioxusLabs/dioxus@24f6a829df (2026-08-23).
Data as JSON: /api/errors/4cf5e6d10b3d3490.
Report an issue: GitHub.