DioxusLabs/dioxus · error
writer checked
Error message
writer checked
What it means
Internal diffing invariant: the writer-presence flag was checked earlier in the call, so a writer must exist here. Firing indicates control-flow drift between has_writer checks and writer use in create_children_at_site_with_mounts.
Source
Thrown at packages/core/src/diff/iterator.rs:548
parent: Option<MountId>,
site: impl FnOnce(&mut Self) -> InsertionSite,
children: FragmentMountWriter,
) -> usize {
self.create_children_at_site_with_mounts(new, parent, site, |dom, idx, mount| {
dom.set_mounted_fragment_child(children, idx, mount)
})
}
fn create_children_at_site_with_mounts(
&mut self,
new: &[VNode],
parent: Option<MountId>,
site: impl FnOnce(&mut Self) -> InsertionSite,
mut created_mount: impl FnMut(&mut VirtualDom, usize, MountId),
) -> usize {
if self.has_writer() {
let site = site(self);
let to = self.to.as_deref_mut().expect("writer checked");
site.create_and_place_with_result(to, self.dom.runtime.clone(), |to| {
let nodes = self.dom.create_children_with_mounts(
Some(to),
new,
parent,
|dom, idx, mount| {
created_mount(dom, idx, mount);
},
);
(nodes, nodes)
})
} else {
self.dom
.create_children_with_mounts(self.to.as_deref_mut(), new, parent, created_mount)
}
}
}
View on GitHub (pinned to 24f6a829df)
Solutions
- This is an internal diffing invariant (writer state). 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:548 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/270dc56de49f2aa3.
Report an issue: GitHub.