DioxusLabs/dioxus · error
scope output
Error message
scope output
What it means
Internal invariant while pushing a component dynamic node's root nodes: the component scope was expected to have mounted output. A component dynamic node without a rendered root means the component never rendered successfully.
Source
Thrown at packages/core/src/diff/iterator.rs:631
dom: &VirtualDom,
to: &mut dyn WriteMutations,
) -> usize {
match &self.vnode().dynamic_node_values()[idx] {
DynamicNode::Fragment(nodes) => {
let mounts = dom.mounted_fragment_children_exact(mount, idx, nodes.len());
nodes
.iter()
.zip(mounts)
.map(|(node, mount)| {
crate::MountedVNode::new(node, mount).push_all_root_nodes(dom, to)
})
.sum()
}
DynamicNode::Component(_) => dom
.get_scope(dom.unchecked_mounted_dynamic_component_scope(mount, idx))
.unwrap()
.try_mounted_root_node()
.expect("scope output")
.push_all_root_nodes(dom, to),
DynamicNode::Text(_) => {
if dom.mount_target_id(mount) == target_id {
let id = dom
.unchecked_mounted_dynamic_text_node(mount, idx)
.element_id();
push_live_root(to, id)
} else {
0
}
}
}
}
}
fn push_live_root(to: &mut dyn WriteMutations, id: ElementId) -> usize {
// Callers (`push_all_root_nodes`) only reach this with `id` values just
// read from a root anchor/dynamic text slot for a vnode whose mount target already matchesView on GitHub (pinned to 24f6a829df)
Solutions
- This is an internal invariant about scope output during diffing. 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/iterator.rs:631 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/823cf0248d200f58.
Report an issue: GitHub.