zed-industries/zed · error · syn::Error
invalid argument name
Error message
invalid argument name
What it means
Returned while parsing #[gpui::test] macro arguments when a name-value or list meta uses an ident that matches none of the known options (retries, iterations, on_failure, seed, ...). The misspelled/unknown argument name is the fault; macro expansion is rejected.
Source
Thrown at crates/gpui_macros/src/test.rs:81
.value()
.split("::")
.map(|part| PathSegment::from(Ident::new(part, name.span())))
.collect();
let path = syn::Path {
leading_colon: None,
segments,
};
on_failure_fn_name = quote!(Some(#path));
}
(Meta::NameValue(meta), "seed") => {
seeds = vec![parse_usize_from_expr(&meta.value)? as u64]
}
(Meta::List(list), "seeds") => seeds = parse_u64_array(list)?,
(Meta::Path(_), _) => {
return Err(syn::Error::new(meta.span(), "invalid path argument"));
}
(_, _) => {
return Err(syn::Error::new(meta.span(), "invalid argument name"));
}
}
}
Ok(Args {
seeds,
max_retries,
max_iterations,
on_failure_fn_name,
})
}
}
pub fn test(args: TokenStream, function: TokenStream) -> TokenStream {
let args = syn::parse_macro_input!(args as Args);
let mut inner_fn = match syn::parse::<ItemFn>(function) {
Ok(f) => f,
Err(err) => return error_to_stream(err),View on GitHub (pinned to f4178619ac)
Solutions
- Check the option spelling against supported names (retries, iterations, seed, seeds, on_failure)
- Remove the unsupported option
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/gpui_macros/src/test.rs:81 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20).
Data as JSON: /api/errors/e1c3e2e436816d3b.
Report an issue: GitHub.