DioxusLabs/dioxus · error
expected `core`
Error message
expected `core`
What it means
The define_elements!-style macro input must start with `core = <path>` to locate the dioxus-core crate. The first identifier parsed was something else, indicating malformed or out-of-order macro input.
Source
Thrown at packages/html-internal-macro/src/elements.rs:45
struct ElementDef {
attrs: Vec<Attribute>,
name: Ident,
metadata: ElementMetadata,
attributes: Punctuated<ExtensionAttribute, Token![,]>,
}
#[derive(Default)]
struct ElementMetadata {
name: Option<LitStr>,
namespace: Option<LitStr>,
}
impl Parse for DefineElements {
fn parse(input: ParseStream) -> syn::Result<Self> {
let core_marker: Ident = input.parse()?;
if core_marker != "core" {
return Err(syn::Error::new(core_marker.span(), "expected `core`"));
}
input.parse::<Token![=]>()?;
let core_path = input.parse()?;
input.parse::<Token![,]>()?;
let html_marker: Ident = input.parse()?;
if html_marker != "html" {
return Err(syn::Error::new(html_marker.span(), "expected `html`"));
}
input.parse::<Token![=]>()?;
let html_path = input.parse()?;
let mut hot_reload_context = false;
while input.peek(Token![,]) {
input.parse::<Token![,]>()?;
if input.peek(Token![;]) {
break;
}View on GitHub (pinned to 24f6a829df)
Solutions
- Pass `core` as the expected argument; this internal macro expects the literal `core` in this position.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/html-internal-macro/src/elements.rs:45 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/c60576fae28bbc4e.
Report an issue: GitHub.