DioxusLabs/dioxus · error
dynamic child checked
Error message
dynamic child checked
What it means
The merged static/dynamic child iterator compares peeked heads and `expect`s the dynamic 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:283
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> {
fn key(self) -> (usize, usize) {
(self.position, self.order)
}
}View on GitHub (pinned to 24f6a829df)
Solutions
- This is an internal invariant about dynamic 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:283 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/03f9455a7ce70d96.
Report an issue: GitHub.