DioxusLabs/dioxus · error
keyword argument repeated: `impl_from`
Error message
keyword argument repeated: `impl_from`
What it means
Parse guard in the server-macro attribute parser: the keyword argument `impl_from` appeared more than once in the attribute's key/value list, and duplicates are rejected because each keyword holds at most one value. The input at fault is the duplicated `impl_from` key in the macro arguments.
Solutions
- Remove the duplicate `impl_from` keyword argument; each keyword may only be specified once.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/fullstack-macro/src/lib.rs:1650 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/da4a0edab127f6f2.
Report an issue: GitHub.
Appendix: source
Thrown at packages/fullstack-macro/src/lib.rs:1650
} else if key == "client" {
if client.is_some() {
return Err(syn::Error::new(
key.span(),
"keyword argument repeated: `client`",
));
}
client = Some(stream.parse()?);
} else if key == "custom" {
if custom_wrapper.is_some() {
return Err(syn::Error::new(
key.span(),
"keyword argument repeated: `custom`",
));
}
custom_wrapper = Some(stream.parse()?);
} else if key == "impl_from" {
if impl_from.is_some() {
return Err(syn::Error::new(
key.span(),
"keyword argument repeated: `impl_from`",
));
}
impl_from = Some(stream.parse()?);
} else if key == "impl_deref" {
if impl_deref.is_some() {
return Err(syn::Error::new(
key.span(),
"keyword argument repeated: `impl_deref`",
));
}
impl_deref = Some(stream.parse()?);
} else if key == "protocol" {
if protocol.is_some() {
return Err(syn::Error::new(
key.span(),
"keyword argument repeated: `protocol`",View on GitHub (pinned to 24f6a829df)